一、介绍
为了保持其公司在人工智能开源大模型领域的地位,社交巨头Meta推出了旗下最新开源模型。当地时间4月18日,Meta在官网上宣布公布了旗下最新大模型Llama 3。目前,Llama 3已经开放了80亿(8B)和700亿(70B)两个小参数版本,上下文窗口为8k。Llama3 是 Meta 公司(前身为 Facebook)开发的一个大型语言模型(LLM),它属于人工智能和自然语言处理领域的一项技术成果。Llama3 的设计目的是理解和生成人类语言,以支持各种自然语言处理任务,包括但不限于文本生成、对话系统、问答、代码理解与生成、文本摘要、翻译等。Meta表示,通过使用更高质量的训练数据和指令微调,Llama 3比前代Llama 2有了“显著提升”。
未来,Meta将推出Llama 3的更大参数版本,其将拥有超过4000亿参数。Meta也将在后续为Llama 3推出多模态等新功能,包括更长的上下文窗口,以及Llama 3研究论文。Meta在公告中写道:“通过Llama 3,我们致力于构建能够与当今最优秀的专有模型相媲美的开源模型。我们想处理开发者的反馈,提高Llama 3 的整体实用性,同时,继续在负责地使用和部署LLM(大型语言模型)方面发挥领先作用。”
Llama3 通过深度学习技术,特别是基于 Transformer 架构的预训练模型,实现了对自然语言的高度理解和生成能力。它利用了海量的文本数据进行训练,从而能够捕获语言的复杂模式和规律,并在各种自然语言处理任务中展现出卓越的性能。
此外,Llama3 的开源性质使得它更容易被研究人员和开发者所利用,进一步推动了自然语言处理技术的发展和应用。通过再训练或微调 Llama3 模型,开发者可以针对特定领域或任务进行优化,构建出更加专业化和个性化的自然语言处理系统。
二、环境需求
操作系统:Ubuntu 22.04
Anconda3:Miniconda3-latest-Linux-x86_64.sh
GPU: RTX 3090 24G
微调时是两张4090
1.更新系统
输入下列命令将系统更新及系统缺失命令下载
apt-get update
apt-get upgrade
apt-get install -y vim wget unzip lsof net-tools openssh-server git git-lfs gcc cmake build-essential
2.创建conda环境
输入下列命令,创建一个名为“llama_factory ”且Python版本号为3.11的conda环境(环境名称可随意修改)
conda create --name llama_factory python=3.11
3.激活conda环境
输入下列命令激活刚才所创建的conda环境:
conda activate llama_factory
4.下载项目文件
输入下列命令进行下载模型:
git clone https://github.com/hiyouga/LLaMA-Factory.git
如果出现提示错误的情况,则输入下列命令“rm -rf /llama_factor”删除文件后重新下载:
rm -rf /llama_factor
5.进入项目文件
首先输入命令 ls 查看一下“LLaMA-Factory”文件是否存在,其次输入“cd LLaMA-Factory”进入模型文件,最后再输入命令“python -m pip install --upgrade pip”升级pip版本号。
ls
cd LLaMA-Factory
python -m pip install --upgrade pip
6.下载项目依赖包
输入下列命令:
pip install -r requirements.txt --index-url https://mirrors.huaweicloud.com/repository/pypi/simple
7.下载Llama3模型
- 输入命令“mkdir model”新建一个名为“model”的文件夹
mkdir model
- ls查看一些文件夹是否存在,输入“cd model”进入文件夹
cd model
- 输入下列命令下载模型和权重数据集
git clone https://LLM-Research/Meta-Llama-3-8B-Instruct.git
(此模型数据很大约15G,不建议下载到系统盘,下载过程很长切勿有其他操作)
8.运行
首先切换到LLama_Factory目录下
cd /LLaMA-Factory
运行下列命令运行:
CUDA_VISIBLE_DEVICES=0
export PATH=$PATH:/path/to/llamafactory-cli
export HF_ENDPOINT="https://hf-mirror.com"
export GRADIO_SERVER_PORT=8080
python src/webui.py --model_name_or_path /model/Meta-Llama-3-8B-Instruct --template llama3 --infer_backend vllm \--vllm_enforce_eager