赞
踩
Llama3的git地址是 https://github.com/meta-llama/llama3 ,可以直接git克隆到本地
git clone https://github.com/meta-llama/llama3
然后在根目录运行
pip install -e .
去metallama官网登录使用下载该模型 https://llama.meta.com/llama-downloads/
1. 注册登录,您将得到一个电子邮件的网址下载模型。当你运行下载时,你需要这个网址,一旦你收到电子邮件,导航到你下载的骆驼存储库和运行下载。
2. 确保授予下载的执行权限。
3. 在此过程中,将提示您从邮件中输入URL。
4. 不要使用"复制链接"选项,而是要确保从电子邮件中手动复制链接
注意事项:
1. 替换 Meta-Llama-3-8B-Instruct/ 你的检查站目录的路径Meta-Llama-3-8B-Instruct/tokenizer.model 找到了你的标记器模型.
2. …–nproc_per_node 我们应该把它放在你所使用的模型的价值。
3. 调整max_seq_len 和max_batch_size 必要时参数.
4. 这个例子运行了 example_chat_completion.py 在这个存储库中找到,但是你可以将它更改为不同的文件。
5. 根据你本身的硬件来调整max_seq_len 和max_batch_size参数
可以通过huggingface 平台下载(需要先进入huggingface平台申请,同意它的条款,)
在这里插入图片描述
然后先安装huggingface工具
pip install huggingface-hub
然后指定meta-llama/Meta-Llama-3-8B-Instruct
huggingface-cli download meta-llama/Meta-Llama-3-8B-Instruct --include “original/*” --local-dir meta-llama/Meta-Llama-3-8B-Instruct
然后transformer的使用
- 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",
- )
如果没有gpu的同学可以使用cpu device=cuda,计算性能会差一些
完整的使用方式:
目前推荐使用ollama的8b,70b,instruct, text 其他量化模型是别的用户微调过的,建议使用原生的llama3. 执行:
ollama run llama3:instruct
或者
ollama run llama3 (ollama pull llama3:8b)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试llama3的生成速度非常快,至少是llama2的两倍,如果有强大的显存支持效率会更高。
- import transformers
- import torch
- 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": "You are a pirate chatbot who always responds in pirate speak!"},
- {"role": "user", "content": "Who are you?"},
- ]
- 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):])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。