将 LLama 2 7B 与 python 一起使用

问题描述 投票:0回答:3

我想在我的 win 11 机器上使用 python 本地使用 llama 2 7B。我安装了带有 cuda 和 pytorch 的 conda venv,并支持 cuda 和 python 3.10。所以我准备出发了。

这里的文件是从meta本地下载的: 文件夹 llama-2-7b-聊天:

  • 清单.chk
  • 合并.00.pth
  • params.json

现在我想与模型互动。但我只找到从 Huggingface 下载模型的代码片段,这在我的情况下是不需要的。

有人可以给我提供几行代码来通过 Python 与模型交互吗?

python python-3.x pytorch llama
3个回答
4
投票

我知道你提到拥抱脸在你的情况下是不必要的,但要下载和使用模型,使用他们的变压器要容易得多。

下载权重后 - 您需要按如下方式重新构建文件夹:(注意我将 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


0
投票

下载的文件并不都是需要的。我在 win 11 上使用 cuda gpu 让它工作,但采用了稍微不同的方式:

  1. 首先,我使用了这个repo,而不是Meta本身提供的代码(但我必须通过huggingface下载文件):https://github.com/oobabooga/text- Generation-webui

  2. 通过 conda 安装 cuda 确实有一些错误,即使一开始一切看起来都很好。我可以通过安装此处提供的堆栈来解决此问题:https://github.com/jeffheaton/t81_558_deep_learning/blob/master/install/manual_setup2.ipynb

我希望对其他人也有帮助......


0
投票

这是官方答案: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

© www.soinside.com 2019 - 2024. All rights reserved.