使用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 小时前
大语言模型与多模态模型比较
人工智能·语言模型·自然语言处理·llm·大语言模型
幸福回头16 小时前
ms-swift 代码推理数据集
llm·swift
亚里随笔17 小时前
AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式
人工智能·算法·llm·大语言模型
水煮蛋不加蛋3 天前
RAG 赋能客服机器人:多轮对话与精准回复
人工智能·ai·机器人·大模型·llm·rag
zstar-_3 天前
FreeTex v0.2.0:功能升级/支持Mac
人工智能·python·macos·llm
江小皮不皮3 天前
为何选择MCP?自建流程与Anthropic MCP的对比分析
人工智能·llm·nlp·aigc·sse·mcp·fastmcp
q_q王4 天前
‌FunASR‌阿里开源的语音识别工具
python·大模型·llm·语音识别
pedestrian_h4 天前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek
浪淘沙jkp4 天前
AI大模型学习二十、利用Dify+deepseekR1 使用知识库搭建初中英语学习智能客服机器人
人工智能·llm·embedding·agent·知识库·dify·deepseek
HuggingFace4 天前
大模型评估排障指南 | 关于可复现性
大模型·llm