使用autoDL部署 , 微调Llama3-8b

使用autoDL部署 , 微调Llama3-8b

首先使用云服务平台autoDL

登陆后租用服务器显存 : 32GB , 内存 : 50GB

选择基础镜像-

控制台-容器实例-点击JupyterLab

部署Llama-8b , 不可微调/训练

ollama

也可以使用Hugging Face的Transformers库或者其他的部署方式运行llama , 但ollama极大地简化了部署流程,尤其是本地环境中配置

下载ollama

在终端输入curl -fsSL https://ollama.com/install.sh | sh开始下载ollama

出现报错如下 :

curl: (16) Error in the HTTP2 framing layer

curl: (28) Failed to connect to github.com port 443 after 130713 ms: Connection timed out

这一般是由网络问题导致的 , 终端输入source /etc/network_turbo设置学术资源加速 继续逐行输入
sudo apt-get install lshw systemctl -y systemctl start ollama.service

出现包管理错误 , 报错如下

bash 复制代码
# sudo apt-get install lshw systemctl -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package lshw
E: Unable to locate package systemct

通过包管理器安装手动安装lshw , 终端输入如下指令行 : sudo apt-get install lshw -y

启动 Ollama

适用于所有环境(包括 WSL/容器等无 systemd 的场景):ollama serve

下载llama3-8b模型

输入ollama pull llama3:8b 开始下载llama3-8b模型 , 下载成功后可输入ollama run llama3:8b运行llama3 在交互式对话界面输入/bye可结束对话

至此 , 部署Llama-8b模型结束

下载LLaMA-Factory微调llama

Ollama主要用于模型部署和运行,而不是训练或微调。LLaMA-Factory框架支持微调 终端逐行输入一下代码

bash 复制代码
git clone https://github.com/hiyouga/LLaMA-Factory

conda create -n llama_factory python=3.10 

cd ~/LLaMA-Factory

pip install -r requirements.txt 

下载Llama-8b可微调模型

首先 , 一定 , 一定 , 开启学术资源加速 source /etc/network_turbo

可以登录Hugging Face ,申请Llama模型访问权限 , 生成Access Token , 下载模型

也可以从阿里巴巴推出的 ModelScope 平台的模型仓库下载指定模型

bash 复制代码
pip install modelscope 
python -c "from modelscope import snapshot_download; snapshot_download('LLM-Research/Meta-Llama-3-8B-Instruct', cache_dir='/root/autodl-tmp')"

下载完成后准备训练数据文件(.jsonl)

从huggingface上下载翻译数据集 wmt/wmt19 at main

选择zh-en文件夹 , 对应中英翻译 , 选择一个文件下载到本地

使用 python 将.parquet类型文件转为.jaonl文件

首先下载必要依赖

bash 复制代码
pip install pandas pyarrow 

运行以下代码

py 复制代码
import pandas as pd

# 读取 Parquet 文件 , "train-00000-of-00013.parquet"为文件名
df = pd.read_parquet("train-00000-of-00013.parquet",  engine="pyarrow")

# 转换为 JSONL 格式(每行一个 JSON 对象)
df.to_json("output.jsonl",  orient="records", lines=True, force_ascii=False)

上传文件至文件夹 , 文件路径为/root/autodl-tmp/LLaMA-Factory/data/output.jsonl 在dataset_info.json文件下添加以下内容 :

json 复制代码
{
  "translation_dataset": {
    "file_name": "train.jsonl",
    "file_path": "/root/autodl-tmp/LLaMA-Factory/data",
    "columns": {
      "prompt": "translation.en",
      "response": "translation.zh"
    },
    "preprocessing": {
      "max_length": 1024,  //最长输入文本
      "truncation": true,  //超出文本是否截断
      "padding": "longest" //按批次内最长文本动态填充
    }
  }
}

补充 : .jsonl 文件不允许写注释 , 请删除注释部分

Llama3-8B 输入最多支持 8192 tokens

开始微调 :

js 复制代码
cd /root/LLaMA-Factory
CUDA_VISIBLE_DEVICES=0 llamafactory-cli train --stage sft --model_name_or_path /root/autodl-tmp/LLM-Research/Meta-Llama-3-8B-Instruct --finetuning_type lora --template llama3 --dataset_dir /root/LLaMA-Factory/data --dataset translation_dataset --cutoff_len 1024 --learning_rate 2e-5 --per_device_train_batch_size 2  --gradient_accumulation_steps 8 --lora_rank 8 --lora_target q_proj,v_proj --output_dir saves/llama3-8b-lora --fp16 True
相关推荐
不会弹吉他的布鲁克5 小时前
AI智能操盘-你的纯视觉界面解析神器:OMNIPARSER 自动操作电脑,助你轻松搞定全自动化任务
算法·llm
老A的AI实验室8 小时前
通俗理解Test time Scaling Law、RL Scaling Law和预训练Scaling Law
人工智能·深度学习·算法·chatgpt·llm·agi·rl
刘立军9 小时前
本地大模型编程实战(20)用langgraph和智能体实现RAG(Retrieval Augmented Generation,检索增强生成)(4)
人工智能·后端·llm
翻滚的小@强10 小时前
LLM2CLIP论文学习笔记:强大的语言模型解锁更丰富的视觉表征
llm·clip·多模态大模型
大模型之路1 天前
Grok-3:人工智能领域的新突破
人工智能·llm·grok-3
喝不完一杯咖啡1 天前
【AI时代】可视化训练模型工具LLaMA-Factory安装与使用
人工智能·llm·sft·llama·llama-factory
guyoung1 天前
DeepSeek轻量级本地化部署工具——AIMatrices DeepSeek
rust·llm·deepseek
可乐张1 天前
AutoGen 技术博客系列 (九):从 v0.2 到 v0.4 的迁移指南
后端·llm
可乐张1 天前
AutoGen 技术博客系列 (八):深入剖析 Swarm—— 智能体协作的新范式
后端·llm