在 Mac M1 上运行 Llama 2 并进行训练

这篇具有很好参考价值的文章主要介绍了在 Mac M1 上运行 Llama 2 并进行训练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Mac M1 上运行 Llama 2 并进行训练

llama2 m1,macos,llama,chatgpt,生成式AI,机器学习,大语言模型,人工智能

Llama 2 是由领先的人工智能研究公司 Meta (前Facebook)开发并发布的下一代大型语言模型 (LLM)。 它基于 2 万亿个公共数据 token 进行了预训练,旨在帮助开发人员和企业组织构建基于人工智能的生成工具和用户体验。Llama 2 在许多外部基准测试中都优于其他开源语言模型,包括推理、编码、熟练程度和知识测试。更关键的是,相比 ChatGPTClaude 等闭源大模型,Llama 2 更加开放友好,可以免费用于研究和商业用途,并且可以方便地从 Meta 网站上下载。因此 Llama 2 是进行大模型研究的理想选择。

然而,Llama 2 对苹果 M1 芯片的支持不太好,如果你想在 Mac M1 设备上运行 Llama 2 并使用自己的数据对其进行训练,需要安装一些额外的依赖和环境,并进行相应的配置。本文将指导你完成在 Mac M1 上设置 Llama 2 的过程,并根据使用你自己的数据对其进行精调。

安装依赖

要想在 Mac M1 上运行 Llama 2,你需要安装一些依赖项,例如 PythonPyTorchTensorFlowHugging Face Transformers。你可以使用 HomebrewAnaconda 来安装这些软件包。例如,要使用 Homebrew 安装 Python 3.9,可以在终端中运行以下命令:

brew install python@3.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 2gpt2
  • 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

你可以根据需要和可用资源调整这些参数。请注意,精调 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 2gpt2
  • 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_cuda
 USER: 你好,我想取消我的订单。
LLAMA: 你好,感谢您联系你。我能问一下您为什么要取消订单吗?
 USER: 我不需要了。
LLAMA: 明白了解。很遗憾你的产品和服务没有让您满意。您可以自助式取消订单,只要在订单列表中找到要取消的订单,然后点击查看详情,在页面最下方有取消按钮。
 USER: 谢谢。
LLAMA: 不客气。祝您生活愉快。

结论

Llama 2 是一种功能强大且多样的大型语言模型,可用于各种生成式和对话式 AI 应用。通过使用你自己的数据对其进行精调,你可以根据你的特定场景和用例对其进行自定义,并提高其性能和生成质量。希望本文对你有所帮助。文章来源地址https://www.toymoban.com/news/detail-773532.html

到了这里,关于在 Mac M1 上运行 Llama 2 并进行训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [玩转AIGC]如何训练LLaMA2(模型训练、推理、代码讲解,并附可直接运行的kaggle连接)

    Llama 2,基于优化的 Transformer 架构,是Meta AI正式发布的最新一代开源大模型,一系列模型(7b、13b、70b)均开源可商用,效果直逼gpt3.5。 下面我们来介绍如何使用Llama 2来训练一个故事生成模型。 如果迫不及待想爽一把先,请直接跳到这里,可直接运行:llama2-c, 学习不就是

    2024年02月12日
    浏览(47)
  • MacOS M2使用llama2

    看见老扎说Meta要弄llama3了,用35w张H100来搞,然后开源。 因为工作中一直用OpenAI,所以没弄过llama2,想着试一下llama2跑本地的效果,llama2官方下载地址:https://ai.meta.com/llama/ 官方是需要填表的,我们直接使用社区的方案,不需要填任何东西,直接下载。 对了,我的环境是Ma

    2024年01月23日
    浏览(32)
  • 国内最大Llama开源社区发布首个预训练中文版Llama2

    \\\" 7月31日,Llama中文社区率先完成了国内 首个真正意义上的中文版Llama2-13B大模型 ,从模型底层实现了Llama2中文能力的大幅优化和提升。毋庸置疑,中文版Llama2一经发布将开启国内大模型新时代! | 全球最强,但中文短板 Llama2是当前全球范围内最强的开源大模型,但其中文能

    2024年02月13日
    浏览(36)
  • llama.cpp LLM模型 windows cpu安装部署;运行LLaMA2模型测试

    参考: https://www.listera.top/ji-xu-zhe-teng-xia-chinese-llama-alpaca/ https://blog.csdn.net/qq_38238956/article/details/130113599 cmake windows安装参考:https://blog.csdn.net/weixin_42357472/article/details/131314105 1、下载: 2、编译 3、测试运行 参考: https://zhuanlan.zhihu.com/p/638427280 模型下载: https://huggingface.co/nya

    2024年02月16日
    浏览(41)
  • Mac上LLAMA2大语言模型安装到使用

    LLaMA是由Facebook的母公司Meta AI设计的一个新的大型语言模型。LLaMA拥有70亿到650亿个参数的模型集合,是目前最全面的语言模型之一。 Llama是目前唯一一个可以进行本地部署和本地训练的大型模型,对各种提问有非常好的处理能力。非常适合个人和中小型企业,构建自己的大数

    2024年03月09日
    浏览(51)
  • [玩转AIGC]LLaMA2训练中文文章撰写神器(数据准备,数据处理,模型训练,模型推理)

    好久没更新这个专栏的文章了,今天抽空写了一篇。————2023.12.28 摘要:文体包括新闻,法律文书,公告,广告等,每种文体的书写风格不一样,如果拥有自己的数据集,想针对特定文体来训练一个内容生成的工具,来帮助自己写点文章,如果没接触过AIGC,可能一开始会

    2024年01月17日
    浏览(52)
  • LLMs之LLaMA2:基于云端进行一键部署对LLaMA2模型实现推理(基于text-generation-webui)执行对话聊天问答任务、同时微调LLaMA2模型(配置云端环境【A100】→下载数

    LLMs之LLaMA-2:基于云端进行一键部署对LLaMA2模型实现推理(基于text-generation-webui)执行对话聊天问答任务、同时微调LLaMA2模型(配置云端环境【A100】→下载数据集【datasets】→加载模型【transformers】→分词→模型训练【peft+SFTTrainer+wandb】→基于HuggingFace实现云端分享)之图文教程详

    2024年02月11日
    浏览(50)
  • [NLP]LLM--使用LLama2进行离线推理

    本文基于Chinese-LLaMA-Alpaca-2项目代码介绍,使用原生的llama2-hf 克隆好了Chinese-LLaMA-Alpaca-2 项目之后,基于GPU的部署非常简单。下载完成以后的模型参数(Hugging Face 格式)如下: 简单说明一下各个文件的作用 文件名称 示例 说明 config.json { \\\"architectures\\\": [ \\\"LlamaForCausalLM\\\" ], \\\"hidden_si

    2024年02月09日
    浏览(46)
  • 使用GGML和LangChain在CPU上运行量化的llama2

    Meta AI 在本周二发布了最新一代开源大模型 Llama 2。对比于今年 2 月发布的 Llama 1,训练所用的 token 翻了一倍,已经达到了 2 万亿,对于使用大模型最重要的上下文长度限制,Llama 2 也翻了一倍。 在本文,我们将紧跟趋势介绍如何在本地CPU推理上运行量化版本的开源Llama 2。 我

    2024年02月16日
    浏览(48)
  • LLMs之LLaMA-2:基于云端进行一键部署对LLaMA2模型实现推理(基于text-generation-webui)执行对话聊天问答任务、同时微调LLaMA2模型(配置云端环境【A100】→下载

    LLMs之LLaMA-2:基于云端进行一键部署对LLaMA2模型实现推理(基于text-generation-webui)执行对话聊天问答任务、同时微调LLaMA2模型(配置云端环境【A100】→下载数据集【datasets】→加载模型【transformers】→分词→模型训练【peft+SFTTrainer+wandb】→基于HuggingFace实现云端分享)之图文教程详

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包