这是一则非常简练的使用 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/

填表后提交。

file

很快就会收到邮件。

file

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

file

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

file

此时已经成功拥有了跑在自己计算机上的大语言模型了 。