Llama 3 安装使用方法

打印 上一主题 下一主题

主题 538|帖子 538|积分 1614

Llama3简介:

llama3是一种自回归语言模型,采用了transformer架构,目前开源了8b和70b参数的预训练和指令微调模型,400b正在训练中,性能非常强悍,而且在15万亿个标志的公开数据举行了预训练,比llama2大了7倍,距离llama2的开源发布仅仅已往了10个月,llama3就强势发布,一起来看一下他的使用方法。
在这里我颠末查询Meta公布的4月15日的基准测试结果,Llama 3 400B+模型的表现已经持平Claude 3 Opus,超过Gemini 1.5 Pro,仅在数学部门掉队于最先进的 GPT-4 Turbo 2024-04-09模型。

作为一个优秀团队的开源模型,我们更重要的是知道怎样使用它,来减轻我们的负担,提升我们学习,完成任务,创作内容的效率与正确率。
Llama3安装:

git clone 安装

Llama3的git地点是 https://github.com/meta-llama/llama3 ,可以直接git克隆到本地
  1. git clone https://github.com/meta-llama/llama3
复制代码
然后在根目录运行
  1. pip install -e .
复制代码
去metallama官网登录使用下载该模型 https://llama.meta.com/llama-downloads/



  • 注册登录,您将得到一个电子邮件的网址下载模型。当你运行下载时,你需要这个网址,一旦你收到电子邮件,导航到你下载的骆驼存储库和运行下载。
  • 确保授予下载的实行权限。
  • 在此过程中,将提示您从邮件中输入URL。
  • 不要使用"复制链接"选项,而是要确保从电子邮件中手动复制链接
   本地运行
  1. torchrun --nproc_per_node 1 example_chat_completion.py \
  2.     --ckpt_dir Meta-Llama-3-8B-Instruct/ \
  3.     --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model \
  4.     --max_seq_len 512 --max_batch_size 6
复制代码
  注意事项:
  

  • 替换 Meta-Llama-3-8B-Instruct/ 你的查抄站目录的路径Meta-Llama-3-8B-Instruct/tokenizer.model 找到了你的标志器模型.
  • …–nproc_per_node 我们应该把它放在你所使用的模型的代价。
  • 调整max_seq_len 和max_batch_size 必要时参数.
  • 这个例子运行了 example_chat_completion.py 在这个存储库中找到,但是你可以将它更改为差别的文件。
  • 根据你自己的硬件来调整max_seq_len 和max_batch_size参数
huggingface 平台下载

可以通过huggingface 平台下载(需要先进入huggingface平台申请,同意它的条款,)


然后先安装huggingface工具
  1. pip install huggingface-hub
复制代码
然后指定meta-llama/Meta-Llama-3-8B-Instruct
  1. huggingface-cli download meta-llama/Meta-Llama-3-8B-Instruct --include “original/*” --local-dir meta-llama/Meta-Llama-3-8B-Instruct
复制代码
然后transformer的使用
  1. import transformers
  2. import torch
  3. model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
  4. pipeline = transformers.pipeline(
  5.   "text-generation",
  6.   model="meta-llama/Meta-Llama-3-8B-Instruct",
  7.   model_kwargs={"torch_dtype": torch.bfloat16},
  8.   device="cuda",
  9. )
复制代码
如果没有gpu的同砚可以使用cpu device=cuda,计算性能会差一些
完整的使用方式:
  1. import transformers
  2. import torch
  3. model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
  4. pipeline = transformers.pipeline(
  5.     "text-generation",
  6.     model=model_id,
  7.     model_kwargs={"torch_dtype": torch.bfloat16},
  8.     device_map="auto",
  9. )
  10. messages = [
  11.     {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
  12.     {"role": "user", "content": "Who are you?"},
  13. ]
  14. prompt = pipeline.tokenizer.apply_chat_template(
  15.         messages,
  16.         tokenize=False,
  17.         add_generation_prompt=True
  18. )
  19. terminators = [
  20.     pipeline.tokenizer.eos_token_id,
  21.     pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
  22. ]
  23. outputs = pipeline(
  24.     prompt,
  25.     max_new_tokens=256,
  26.     eos_token_id=terminators,
  27.     do_sample=True,
  28.     temperature=0.6,
  29.     top_p=0.9,
  30. )
  31. print(outputs[0]["generated_text"][len(prompt):])
复制代码
基于ollama使用:

目前推荐使用ollama的8b,70b,instruct, text 其他量化模型是别的用户微调过的,发起使用原生的llama3.
实行:
  1. ollama run llama3:instruct
复制代码
或者
  1. ollama run llama3  (ollama pull llama3:8b)
复制代码



测试llama3的天生速率非常快,至少是llama2的两倍,如果有强大的显存支持效率会更高。
总结

llama3在llama2的底子上实现了质的飞跃,已经超过chat3.5的性能,而且他的预训练和微调是目前市面上开源的参数规模最好的,不但是对于开发者还有企业使用者,这都是非常符合的一个模型。
下表表现了我们的评估结果与Claude Sonnet、Mistral Medium和GPT-3.5相比,在这些类别和提示上的汇总结果

在未来的大模型门路上,选择最优秀的模型每每是我们第一步需要思量的事变。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表