我想在我的 win 11 机器上使用 python 本地使用 llama 2 7B。我安装了带有 cuda 和 pytorch 的 conda venv,并支持 cuda 和 python 3.10。所以我准备出发了。
这里的文件是从meta本地下载的: 文件夹 llama-2-7b-聊天:
现在我想与模型互动。但我只找到从 Huggingface 下载模型的代码片段,这在我的情况下是不需要的。
有人可以给我提供几行代码来通过 Python 与模型交互吗?
我知道你提到拥抱脸在你的情况下是不必要的,但要下载和使用模型,使用他们的变压器要容易得多。
下载权重后 - 您需要按如下方式重新构建文件夹:(注意我将 3 个文件移至 7B 下)
├── 7B
│ ├── checklist.chk
│ ├── consolidated.00.pth
│ └── params.json
├── config.json
├── generation_config.json
├── LICENSE
├── tokenizer_checklist.chk
├── tokenizer.model
└── USE_POLICY.md
接下来从这里下载转换脚本:https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/convert_llama_weights_to_hf.py
最后运行这个脚本:
python convert_llama_weights_to_hf.py --input_dir llama-2-7b/ --model_size 7B --output_dir model
完成后 - 您可以按如下方式导入模型:
from transformers import LlamaForCausalLM, LlamaTokenizer
tokenizer = LlamaTokenizer.from_pretrained("./model")
model = LlamaForCausalLM.from_pretrained("./model")
然后您可以在此处了解有关如何提示模型的更多信息: https://huggingface.co/docs/transformers/v4.31.0/en/model_doc/llama2#transformers.LlamaForCausalLM.forward.example
下载的文件并不都是需要的。我在 win 11 上使用 cuda gpu 让它工作,但采用了稍微不同的方式:
首先,我使用了这个repo,而不是Meta本身提供的代码(但我必须通过huggingface下载文件):https://github.com/oobabooga/text- Generation-webui
通过 conda 安装 cuda 确实有一些错误,即使一开始一切看起来都很好。我可以通过安装此处提供的堆栈来解决此问题:https://github.com/jeffheaton/t81_558_deep_learning/blob/master/install/manual_setup2.ipynb
我希望对其他人也有帮助......
这是官方答案:https://huggingface.co/docs/transformers/main/model_doc/llama2
填写表格并获得模型检查点的访问权限后,您应该能够使用已经转换的检查点。否则,如果您要转换自己的模型,请随意使用转换脚本。可以使用以下(示例)命令调用该脚本:
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 7B --output_dir /output/path