什么是 Llama 3?
Llama 3 是 Meta AI 推出的最新一代开源大型语言模型(LLM)。它被设计成一个顶级、高能力的模型系列,可广泛用于研究和商业应用。该系列包括多种尺寸的模型,如 8B 和 70B 参数版本,这些模型经过预训练和指令微调,能够在从编码到创意写作的广泛任务中表现出色。
主要特点
- 顶尖性能: Llama 3 模型是现有性能最佳的开源模型之一,在行业基准测试中可与顶级专有模型相媲美。
- 多种尺寸: 提供 8B 和 70B 参数版本,还有一个更大的 400B+ 模型正在训练中,使开发人员能够在性能和资源需求之间找到合适的平衡。
- 指令微调: 模型经过微调以遵循复杂指令,使其在聊天机器人和助手类应用中功能强大。
- 长上下文窗口: 具有 8K 的上下文窗口,使其能够处理和理解更长的文档和对话。
- 宽松的许可证: 在 Llama 3 社区许可证下发布,允许商业使用和分发, fostering a vibrant open-source ecosystem.
应用场景
- 对话式AI: 构建先进的聊天机器人、虚拟助手和客户支持代理。
- 内容创作: 为文章、电子邮件、营销文案和创意故事生成高质量文本。
- 代码生成: 通过编写代码片段、调试和解释复杂算法来协助开发人员。
- 摘要与问答: 将长文档浓缩为摘要,并根据提供的文本回答问题。
- 研究与开发: 为探索自然语言处理前沿的研究人员提供强大的基础。
入门指南
这是一个简单的“Hello World”风格示例,使用 Hugging Face 的 transformers 库来运行 Llama 3。
```python import transformers import torch
使用 8B 指令微调模型
model_id = “meta-llama/Meta-Llama-3-8B-Instruct”
设置文本生成管道
pipeline = transformers.pipeline( “text-generation”, model=model_id, model_kwargs={“torch_dtype”: torch.bfloat16}, device_map=”auto”, )
定义对话消息
messages = [ {“role”: “system”, “content”: “你是一个提供简洁答案的有用助手。”}, {“role”: “user”, “content”: “法国的首都是哪里?”}, ]
应用聊天模板
prompt = pipeline.tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True )
定义终止符以停止生成
terminators = [ pipeline.tokenizer.eos_token_id, pipeline.tokenizer.convert_tokens_to_ids(“<|eot_id|>”) ]
生成响应
outputs = pipeline( prompt, max_new_tokens=256, eos_token_id=terminators, do_sample=True, temperature=0.6, top_p=0.9, )
打印生成的响应
print(outputs[0][“generated_text”][len(prompt):])
预期输出可能是:“法国的首都是巴黎。”
定价
Llama 3 是开源的,可免费使用,但需遵守其社区许可证的条款。虽然模型本身是免费的,但如果用户使用第三方提供商,可能会产生与托管、云计算(例如 GPU)和 API 服务相关的费用。
社区与反响
Llama 3 的发布获得了 AI 社区压倒性的积极反馈。它因其令人印象深刻的性能(可与一些最强大的闭源模型相媲美)以及 Meta 对开放和可访问的 AI 生态系统的承诺而受到广泛赞誉。该模型在推理、编码和指令遵循方面的能力尤其受到开发人员和研究人员的推崇。