山东网站方案,画册设计欣赏,wordpress 防sql注入,重庆市娱乐场所暂停营业在 Mac M1 上运行 Llama 2 并进行训练 Llama 2 是由领先的人工智能研究公司 Meta #xff08;前Facebook#xff09;开发并发布的下一代大型语言模型 (LLM)。 它基于 2 万亿个公共数据 token 进行了预训练#xff0c;旨在帮助开发人员和企业组织构建基于人工智能的生成工具和… 在 Mac M1 上运行 Llama 2 并进行训练 Llama 2 是由领先的人工智能研究公司 Meta 前Facebook开发并发布的下一代大型语言模型 (LLM)。 它基于 2 万亿个公共数据 token 进行了预训练旨在帮助开发人员和企业组织构建基于人工智能的生成工具和用户体验。Llama 2 在许多外部基准测试中都优于其他开源语言模型包括推理、编码、熟练程度和知识测试。更关键的是相比 ChatGPT 和 Claude 等闭源大模型Llama 2 更加开放友好可以免费用于研究和商业用途并且可以方便地从 Meta 网站上下载。因此 Llama 2 是进行大模型研究的理想选择。
然而Llama 2 对苹果 M1 芯片的支持不太好如果你想在 Mac M1 设备上运行 Llama 2 并使用自己的数据对其进行训练需要安装一些额外的依赖和环境并进行相应的配置。本文将指导你完成在 Mac M1 上设置 Llama 2 的过程并根据使用你自己的数据对其进行精调。 文章目录 安装依赖下载 Llama 2 模型重量和代码精调Llama 2使用精调 Llama 2 模型结论 安装依赖
要想在 Mac M1 上运行 Llama 2你需要安装一些依赖项例如 Python、PyTorch、TensorFlow 和 Hugging Face Transformers。你可以使用 Homebrew 或 Anaconda 来安装这些软件包。例如要使用 Homebrew 安装 Python 3.9可以在终端中运行以下命令
brew install python3.9要安装 PyTorch for Mac M1可以按照以下链接中的说明进行操作https://pytorch.org/get-started/locally/#macos-version
同样地要安装 TensorFlow for Mac M1可以按照以下链接中的说明进行操作https://developer.apple.com/metal/tensorflow-plugin/。
Hugging Face Transformers 的安装相对简单只需在终端中运行以下命令
pip install transformers完成上述三个依赖项后环境就搭建好了。
下载 Llama 2 模型重量和代码
环境依赖搭建好后接下来就要下载 Llama 2 模型权重和代码。你需要在 Meta 网站上填写表格并同意其隐私政策。 提交表格后会收到一封电子邮件其中包含下载模型文件的链接。这里有好多个不同参数规模的模型你可以根据具体需要选择参数范围从 7B 到 70B。其中 Llama-2-chat 针对对话场景进行了特别优化。
为了方便讲解本教程中你将使用 Llama-2-chat-7B 模型作为演示。你也可以从此链接 https://ai.meta.com/llama/llama-2-chat-7B.zip 下载模型权重和代码。下载下来的 zip 文件可以将其解压缩到任意目录中。解压后应该会看到一个名为 llama-2-chat-7B 的文件夹其中包含以下文件
config.json: 模型配置文件。pytorch_model.bin: PyTorch 模型权重文件。tokenizer.json: 模型的 tokenizer 文件。vocab.txt: 模型的字典文件。run_generation.py: 使用模型生成文本的 Python 脚本。
精调Llama 2
要使用自己的数据对 Llama 2 进行精调首先需要准备一个包含训练数据的文本文件。文件中的每一行都应包含对话内容或模型说明。例如如果你想针对客服机器人场景精调 Llama 2训练文件可能如下所示 USER: 你好我的订单有问题。
LLAMA: 你好很高兴为您服务。麻烦您告诉我一下订单号。USER: #123456789
LLAMA: 收到。这个订单有什么问题呢USER: 我收到的货物是坏的。
LLAMA: 很抱歉给您带来此困扰。你能发一下订单收据和物品照片给我吗我帮你走免费换货流程。USER: 可以。发给你了。
LLAMA: 感谢您的配合。我会尽快处理您的问题。对于本次货损再次向您致以歉意。USER: 谢谢。
LLAMA: 不客气。还有其他问题吗USER: 没有了。
LLAMA: 那感谢您选择你的服务。祝您生活愉快。你可以将训练文件另存为 train.txt 与模型文件放在同一目录下。然后在终端中运行以下命令使用你的训练数据精调 Llama 2
python run_generation.py --model_type gpt2 --model_name_or_path ./llama-2-chat-7B --train_data_file ./train.txt --output_dir ./llama-2-chat-7B-finetuned --do_train --per_device_train_batch_size 1 --gradient_accumulation_steps 4 --learning_rate 5e-5 --num_train_epochs 3 --save_steps 1000 --save_total_limit 1这个命令参数比较多你逐个解析一下
model_type: 模型的类型Llama 2 为 gpt2。model_name_or_path 模型目录的路径在本例中为 ./llama-2-chat-7B。train_data_file: 训练数据文件的路径本例中为 ./train.txt。output_dir: 输出目录的路径精调后的模型将保存在这里在本例中为 ./llama-2-chat-7B-finetuneddo_train: 表明你要训练模型。per_device_train_batch_size 每个设备用于训练的批大小在本例中为 1gradient_accumulation_steps: 执行向后/更新过程之前累积梯度的步数在本例中为 4。Learning_rate: 训练的学习率本例中为 5e-5。num_train_epochs: 训练模型的轮数本例中为 3。save_steps: 每个多少步保存一次检查点本例中为 1000。save_total_limit: 要保留的检查点的最大数量本例中为 1。
你可以根据需要和可用资源调整这些参数。请注意精调 Llama 2 可能需要很长时间并且需要大量内存和算力尤其是对于较大的模型。你可以通过查看终端中打印的日志来监控训练过程的进度。
使用精调 Llama 2 模型
使用你自己的数据对 Llama 2 进行精调后就可以通过在终端中运行以下命令来使用精调后的模型
python run_generation.py --model_type gpt2 --model_name_or_path ./llama-2-chat-7B-finetuned --length 100 --prompt USER: 你好我想取消我的订单。参数说明如下
model_type: 模型的类型Llama 2 为 gpt2。model_name_or_path: 精调模型目录的路径在本例中为 ./llama-2-chat-7B-finetuned。length: 生成文本的最大长度在本例中为 100 个token。prompt: 模型的文本输入例如示例中的“USER: 你好我想取消我的订单。”
你可以根据需要和偏好更改这些参数。你还可以使用 --no_cuda 标志并在终端中输入文本来与模型进行交互。 例如
python run_generation.py --model_type gpt2 --model_name_or_path ./llama-2-chat-7B-finetuned --length 100 --no_cudaUSER: 你好我想取消我的订单。
LLAMA: 你好感谢您联系你。我能问一下您为什么要取消订单吗USER: 我不需要了。
LLAMA: 明白了解。很遗憾你的产品和服务没有让您满意。您可以自助式取消订单只要在订单列表中找到要取消的订单然后点击查看详情在页面最下方有取消按钮。USER: 谢谢。
LLAMA: 不客气。祝您生活愉快。结论
Llama 2 是一种功能强大且多样的大型语言模型可用于各种生成式和对话式 AI 应用。通过使用你自己的数据对其进行精调你可以根据你的特定场景和用例对其进行自定义并提高其性能和生成质量。希望本文对你有所帮助。