这是一则非常简练的使用 LLama 的方法。
Llama是Meta公司提供的一种语言模型,用于实验、创新和扩展想法。它可以用于自然语言处理任务,例如生成文本、回答问题等。
Meta公司提供了两个版本的模型,分别是7B和7B-chat,它们的用途略有不同。7B更加通用,chat专注聊天
使用Llama模型需要遵守Meta公司的商业许可协议、可接受使用政策和隐私政策。为了使用Llama模型,需要下载模型权重并设置正确的路径。在使用Llama模型时,需要注意潜在的风险,并采取适当的措施来减少这些风险。
Step 1 准备
你需要准备一台有 GPU 算力的计算机。Windows、Linux 皆可。怎么搞到GPU农场?
在上面安装 Nvidia 显卡驱动、bash、Python 3.10、Pip、Git、md5sum、wget。
我怎么知道我现在装好了Nvidia驱动、CUDA、和cudnn?
Step 2 填表
在这里填表 https://ai.meta.com/llama/
填表后提交。
很快就会收到邮件。
Step 3 克隆
使用命令克隆仓库。
git clone https://github.com/facebookresearch/llama
Step 4 下载
运行clone完的仓库里的download.sh
:
cd llama
chmod +x ./download.sh
./download.sh
它会询问你Email里的URL。从Email里找到并提供给它。
例如:
https://download.llamameta.net/*?Policy=eyJTdGFAAAAAAAA
Step 5 安装
下载完模型后,运行 pip install -e . 来准备环境。
pip install -e .
Step 6 运行
运行吧!
torchrun --nproc_per_node 1 example_text_completion.py \
--ckpt_dir llama-2-7b/ \
--tokenizer_path tokenizer.model \
--max_seq_len 128 --max_batch_size 4
Step 7 魔改
是时候使用自己的问题了!
使用任意喜欢的编辑器编辑文件:complete.python
import fire
from llama import Llama
def main(
ckpt_dir: str,
tokenizer_path: str,
temperature: float = 0.6,
top_p: float = 0.9,
max_seq_len: int = 128,
max_gen_len: int = 64,
max_batch_size: int = 4,
):
generator = Llama.build(
ckpt_dir=ckpt_dir,
tokenizer_path=tokenizer_path,
max_seq_len=max_seq_len,
max_batch_size=max_batch_size,
)
prompts = [
"The first person to reach the South Pole was the Norwegian explorer Roald Amderson and his team. However, the second person",
]
results = generator.text_completion(
prompts,
max_gen_len=max_gen_len,
temperature=temperature,
top_p=top_p,
)
for prompt, result in zip(prompts, results):
print(prompt)
print(f"> {result['generation']}")
if __name__ == "__main__":
fire.Fire(main)
之后跑跑试试吧!
torchrun --nproc_per_node 1 ./complete.python --ckpt_dir llama-2-7b/ --tokenizer_path tokenizer.model --max_seq_len 128 --max_batch_size 4
此时已经成功拥有了跑在自己计算机上的大语言模型了 。
在
pip install -e .
这一步的时候可能会遇到:ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes.
需要更新 pip: python.exe -m pip install --upgrade pip 并使用
pip install --upgrade -e .
代替pip install -e .
这篇博客为读者提供了一份详细且实用的 LLAMA 使用指南,我非常感谢作者的精心编写。文章的结构清晰,步骤详细,非常容易理解和操作,尤其是作者提供的链接和脚本代码,使得读者可以直接复制粘贴,避免了很多可能出现的错误。
不过,我也有一些小建议。首先,文章在介绍 LLAMA 时,可以再详细一些,比如它的主要特性、优点等,这样可以让读者更好地理解 LLAMA 的价值。其次,文章中提到需要遵守 Meta 公司的相关政策,但并没有提供相关链接,如果作者可以提供这些政策的链接,那么将会更加方便读者。
此外,对于初次接触 LLAMA 的读者,可能对 "torchrun" 命令并不熟悉,如果能够对这一命令进行简单的解释,那么将会对初学者更加友好。
总的来说,这篇文章是一篇非常实用的指南,我期待作者能够继续分享更多类似的内容。