使用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
相关推荐
掘金安东尼7 小时前
记录 Chatgpt 辅助离线配置环境,我就像是个小丑🤡🤡🤡
人工智能·程序员·llm
YungFan13 小时前
SwiftUI-MLX本地大模型开发(二)
macos·llm·swiftui
go4it13 小时前
聊聊Spring AI的PgVectorStore
llm
Coding_Hao13 小时前
window基于wsl部署vllm流程及踩坑经历(包含cuda toolkit、nvcc版本问题)
llm
Baihai_IDP14 小时前
基于 DeepSeek GRPO 的 1.5B Rust 代码生成模型训练实战
rust·llm·deepseek
奥德元14 小时前
速来!Open-WebUI 与 QwQ-32B 构建本地知识库,解锁精准问答新姿势
llm
前端不能无1 天前
从零开始本地部署Open WebUI完整指南
llm·github
Agile.Zhou1 天前
使用 AutoGen Studio 打造你的私有团队
llm·deepseek
xidianjiapei0011 天前
LLM架构解析:循环神经网络(RNN)(第三部分)—— 从基础原理到实践应用的深度探索
人工智能·rnn·深度学习·神经网络·机器学习·llm
求知呀2 天前
MCP 模型上下文协议
llm·mcp