探索Meta Llama 3:释放大语言模型的潜力

Meta Llama 3是Meta最新推出的大语言模型,提供从8B到70B参数的预训练和指令调优版本。本文将深入探讨如何下载、安装和运行Llama 3模型,帮助开发者快速入门并利用这项强大的技术进行创新。

什么是Meta Llama 3?

Meta Llama 3是Meta最新的大语言模型(LLM),旨在为个人、创作者、研究人员和企业提供强大的语言理解和生成能力。这个版本包含预训练和指令调优的模型,参数规模从8B到70B不等。Llama 3的发布标志着LLMs的又一次重大进步,为用户提供了更多的实验和创新机会。

下载和安装

要下载模型权重和分词器,可以访问Meta Llama网站并接受许可协议。请求通过后,你将收到一封包含签名URL的电子邮件。然后运行下载脚本并传入提供的URL开始下载。

前提条件

确保已安装wgetmd5sum,然后运行以下脚本:

./download.sh

需要注意的是,下载链接在24小时后会过期,且有一定的下载次数限制。如果看到403: Forbidden错误,可以重新请求链接。

通过Hugging Face访问

你也可以在Hugging Face上下载模型,支持transformers和原生llama3格式。以下是从Hugging Face下载权重的步骤:

  1. 访问其中一个仓库,例如meta-llama/Meta-Llama-3-8B-Instruct
  2. 阅读并接受许可。请求通过后,你将获得所有Llama 3模型的访问权限。
  3. 从“Files and versions”标签下载original文件夹的内容,也可以通过命令行下载:
huggingface-cli download meta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir meta-llama/Meta-Llama-3-8B-Instruct
  1. 要与transformers一起使用,可以使用以下代码片段下载并缓存权重:
import transformers
import torch

model_id = "meta-llama/Meta-Llama-3-8B-Instruct"

pipeline = transformers.pipeline(
    "text-generation",
    model="meta-llama/Meta-Llama-3-8B-Instruct",
    model_kwargs={"torch_dtype": torch.bfloat16},
    device="cuda",
)

快速开始

你可以按照以下步骤快速开始使用Llama 3模型,这些步骤将让你在本地运行快速推理。更多示例请参阅Llama recipes repository

  1. 在一个包含PyTorch / CUDA的conda环境中克隆并下载此仓库。

  2. 在顶级目录下运行:

    pip install -e .
  3. 访问Meta Llama网站并注册以下载模型。

  4. 注册后,你会收到一封包含下载URL的电子邮件。你将在运行下载脚本时需要此URL。

  5. 收到电子邮件后,导航到已下载的Llama仓库并运行下载脚本:

    • 确保授予下载脚本执行权限。
    • 在此过程中,你将被提示输入电子邮件中的URL。
    • 不要使用“复制链接”选项;手动从电子邮件复制链接。
  6. 下载所需模型后,可以使用以下命令在本地运行模型:

torchrun --nproc_per_node 1 example_chat_completion.py \
    --ckpt_dir Meta-Llama-3-8B-Instruct/ \
    --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model \
    --max_seq_len 512 --max_batch_size 6

注意

  • Meta-Llama-3-8B-Instruct/替换为你的检查点目录路径,并将Meta-Llama-3-8B-Instruct/tokenizer.model替换为你的分词器模型路径。
  • –nproc_per_node应设置为你使用的模型的MP值。
  • 根据需要调整max_seq_lenmax_batch_size参数。

推理

不同模型需要不同的模型并行(MP)值:

Model MP
8B 1
70B 8

所有模型支持最长8192个tokens的序列长度,但我们根据max_seq_lenmax_batch_size值预分配缓存。因此,请根据你的硬件设置这些参数。

预训练模型

这些模型未针对聊天或问答进行微调。它们应该被提示,以便预期答案是提示的自然延续。

torchrun --nproc_per_node 1 example_text_completion.py \
    --ckpt_dir Meta-Llama-3-8B/ \
    --tokenizer_path Meta-Llama-3-8B/tokenizer.model \
    --max_seq_len 128 --max_batch_size 4

指令调优模型

微调模型针对对话应用进行了训练。要获得预期的功能和性能,需要遵循ChatFormat定义的特定格式:提示以特殊token开头,之后是一条或多条消息。每条消息以标签开头,角色可以是systemuserassistant,并以标签结束。消息内容在双换行\n\n之后跟随。每条消息的结束标记为 token。

你还可以部署附加分类器,以过滤被认为不安全的输入和输出。有关如何向推理代码中添加安全检查器的示例,请参阅llama-recipes repo

torchrun --nproc_per_node 1 example_chat_completion.py \
    --ckpt_dir Meta-Llama-3-8B-Instruct/ \
    --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model \
    --max_seq_len 512 --max_batch_size 6

问题反馈

请通过以下方式报告软件“错误”或模型的其他问题:

模型卡

请参阅MODEL_CARD.md

许可

我们的模型和权重对研究人员和商业实体开放,并遵循开放原则。我们的使命是通过这一机会赋予个人和行业力量,同时促进发现和伦理AI的进步。

请参阅LICENSE文件以及我们的可接受使用政策

常见问题

有关常见问题的解答,请参阅FAQ,我们将随着新问题的出现不断更新。

结论

Meta Llama 3通过提供从8B到70B参数的预训练和指令调优模型,为开发者和研究人员提供了强大的工具。无论是用于实验还是创新,Llama 3都能帮助你在语言模型的应用中实现更高的效率和效果。

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:探索Meta Llama 3:释放大语言模型的潜力

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2024年5月17日
下一篇 2024年5月17日

相关推荐

  • GPT-4-Base:不依赖微调,大模型能多听话?

    探索GPT-4-Base的潜力,瑞士EPFL团队试图在不依赖微调的情况下,通过上下文学习让大语言模型变得更听话。尽管取得了一些进展,但完全缩小上下文学习和指令微调之间的差距仍然具有挑战性。 GPT-4-Base:不依赖微调,…

    2024年6月4日
    00
  • 从C站和Huggingface下载AI模型的完整指南

    曾经,艺术是一种需要天赋和时间的艰巨任务。然而,随着人工智能的崛起,现在每个人都可以成为绘画大师,只需几分钟的时间和适当的工具。本文将介绍如何从两个主要网站,C站和Huggingface,下载各种强大的AI模型,…

    2023年10月20日
    00
  • LLM2模型微调

    LLM2模型是一种基于BERT的强大语言模型,可用于各种自然语言处理任务,如文本分类、命名实体识别和关系抽取。微调LLM2模型是提高其性能和适应特定任务的关键步骤。在本教程中,我们将详细介绍如何进行LLM2模型的微…

    2023年8月13日
    00
  • 开发中的AI工具:99%准确率识别人工智能绘制的图片

    近日,OpenAI公司再次引领人工智能领域的创新,他们正在开发一款令人瞩目的AI图片识别工具,能够以惊人的99%准确率判断一张图片是否是由人工智能绘制。这项技术将在未来对于辨别虚假信息、保护著作权等领域产生深远…

    2023年10月19日
    00
  • 为什么OpenAI的稀疏自动编码器能够解释大模型的思路?

    OpenAI推出了一种新方法来解释大语言模型(LLM)的内部运作。这种方法利用稀疏自动编码器来揭示模型中的神经活动和特征。本文将详细探讨这种方法的机制、应用和未来发展方向。 引言 大语言模型(LLM)近年来在人工…

    2024年6月24日
    00
  • 如何提高自动摘要的信息密度:CoD方法详解

    自动摘要技术近年来取得了巨大的进步,但除了关注摘要的长度、主题和风格外,一个重要但常常被忽视的方面是摘要的信息密度。信息密度指的是在有限的字数内,摘要包含的信息量。本文将介绍一种名为CoD的方法,它通过…

    2023年10月12日
    00
  • 什么是LangChain?打造上下文感知的推理应用:深入了解LangChain

    在这篇文章中,我们将深入探讨LangChain,一个用于开发大语言模型(LLM)应用程序的框架。LangChain不仅提供了丰富的开源库,还简化了应用程序的整个生命周期,包括生产化和部署。本文将详细介绍LangChain的组件、…

    2024年5月17日
    00