快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

时间:2022-09-04 00:58:58

近期,Meta发布了人工智能大语言模型LLaMA,包含70亿、130亿、330亿和650亿这4种参数规模的模型。其中,最小的LLaMA 7B也经过了超1万亿个tokens的训练。

本文我们将以7B模型为例,分享LLaMA的使用方法及其效果。

1. LLaMA的上手指南

这一部分,我们将step by step,展示LLaMA的使用流程。

1)下载LLaMA模型文件

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

以7B模型文件为例,包含内容如下:

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

2)克隆LLaMA项目及环境配置

git clone https://github.com/facebookresearch/llama.git
cd llama
pip install -r requirements.txt
pip install -e

如下示例中,相关操作均可通过IDP终端进行。

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”


3) LLaMA初体验

在IDP的cell中运行如下代码,即可和LLaMA对话,接收LLaMA的回答啦!

对于7B模型:

TARGET_FOLDER=..
torchrun --nproc_per_node 1 example.py --ckpt_dir $TARGET_FOLDER/7B --tokenizer_path $TARGET_FOLDER/tokenizer.model

对于13B模型:

TARGET_FOLDER=..
torchrun --nproc_per_node 2 example.py --ckpt_dir $TARGET_FOLDER/13B --tokenizer_path $TARGET_FOLDER/tokenizer.model


对于不同大小的LLaMA模型文件,上述命令需要调整的为TARGET_FOLDER中模型文件的名称和node参数。


快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

让我们来进行两个简单的问答测试。

Prompt 1:

Building a website can be done in 10 simple steps

LLaMA 7B模型的回答如下:

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

Prompt 2:

Please write a beautiful love poem

LLaMA 7B的模型回答如下:

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”


LLaMA对这个提示词问题,自行增加了一些场景预设,如“I need some new poems for my birthday(为庆生,我需要一些新诗)"。

输入或调整提示词prompt,可在example.py文件中的prompts部分进行调整,如下图所示。

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”


关于这两个对话示例,我们也同样放上ChatGPT的答案,供大家对比参考。

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”


2. 从LLaMA到"开源版ChatGPT”?

LLaMA推出3天后,Nebuly AI的初创AI企业在LLaMA的基础上,基于RLHF(基于人类反馈的强化学习)进行训练,打造了对标ChatGPT的ChatLLaMA。


快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”


ChatLLaMA声称训练过程比ChatGPT快15倍。同时,支持DeepSpeed ZERO,可以加快微调速度。

DeepSpeed是一个开源的深度学习训练优化库,ZeRO是一种显存优化技术,用于提高大型模型的训练效率,如提高训练速度,降低成本和提高模型可用性等。

但ChatLLaMA并不提供LLaMA的模型权重,根据其license,也不可以商用。



我们在IDP开源的AI IDE中,增加了LLaMA和Stable Diffusion的示例文件,小伙伴们可以快速开启LLaMA体验之旅。

项目地址:https://github.com/BaihaiAI/IDP

快速上手Meta大语言模型LLaMA,构建“本地化ChatGPT”