从零开始:LLaMA-Factory 大模型微调完全指南 | 手把手教你打造专属AI助手

🚀 从零开始:LLaMA-Factory 大模型微调完全指南 | 手把手教你打造专属AI助手

📝 教程摘要

本教程将带领你完成从环境配置到模型部署的全流程,让你能够:

  • 在 AutoDL 平台上快速搭建训练环境
  • 使用 LLaMA-Factory 进行大模型微调
  • 将训练好的模型导出并部署为 API 服务
  • 通过简单的 Python 代码实现与模型的对话

无需深度学习背景,跟着教程一步步操作,即可打造属于你的专属 AI 助手!

0. AutoDL 环境准备

  1. 登录 AutoDL 平台
  2. 选择镜像:
    在这里插入图片描述

1. 准备数据集

  1. 进入终端,执行以下命令:
bash /root/LLaMA-Factory/chuli/转移.sh
  1. 打开左侧的"数据集全自动化处理"
  2. 进入"放置数据集.txt",将制作好的数据集放入其中

2. 启动训练流程

  1. 在终端执行以下命令:
bash /root/LLaMA-Factory/chuli/单多轮脚本/DD.sh
  1. 启动可视化界面:
bash /root/LLaMA-Factory/chuli/one.sh
  1. 复制当前网址,将第一个字母改为 ‘u’,并删除 8443 后面的所有内容

3. 配置训练参数

  1. 在 Web 界面中:

    • 将数据集改为你的数据集
    • 输出目录改为 001
    • 点击开始训练
    • 等待 loss 降至 1.0 左右时手动中断停止
  2. 检查点设置:

    • 检查点路径改为 001
    • 点击 chat
    • 点击加载模型

4. 导出模型

  1. 在 Web 界面中:

    • 点击卸载模型
    • 点击 export
    • 最大分块大小改为 2
    • 导出设备改为 auto
  2. 创建导出目录:

    • 进入 /root/autodl-tmp/xxx
    • 新建文件夹 xxx
  3. 开始导出:

    • 点击开始导出
    • 删除检查点路径
    • 模型路径改为 /root/autodl-tmp/xxx
    • 点击 chat 加载模型

5. 配置 API 服务

  1. 修改 api.sh

    • model_name_or_path 改为 /root/autodl-tmp/xxx
    • template 改为 webui 中高级设置中的提示模板
    • 保存文件
  2. 关闭所有终端
    在这里插入图片描述

  3. 新建终端并运行:

bash /root/LLaMA-Factory/api.sh
  1. 确认输出端口 http://0.0.0.0:6006 表示输出成功
    • 如果报错,检查 webui 进程是否关闭
    • 如果进程仍在运行,使用 kill 命令关闭

6. 本地测试

  1. 创建新的 Python 文件,复制以下代码:
import openai
import sys

api_key = "EMPTY"
openai.api_base = "你的AUtodl自定义服务里面的网址/v1"

def chat_with_gpt3_5(messages):
    response = openai.ChatCompletion.create(
        model="xxx",
        messages=messages,
        api_key=api_key,
        stream=True  # 启用流式输出
    )

    full_response = ""
    for chunk in response:
        if 'choices' in chunk and len(chunk['choices']) > 0:
            content = chunk['choices'][0].get('delta', {}).get('content', '')
            if content:
                print(content, end='', flush=True)
                full_response += content
    print() 
    return full_response

conversation = [
    {"role": "system", "content": "你是一个聪明的AI"}
]

while True:
    user_input = input("You: ")

    if user_input.lower() == '退出':
        print("Assistant: 再见!")
        break

    conversation.append({"role": "user", "content": user_input})

    print("Assistant: ", end='', flush=True)
    assistant_message = chat_with_gpt3_5(conversation)

    conversation.append({"role": "assistant", "content": assistant_message})
  1. 将代码中的 你的AUtodl自定义服务里面的网址 替换为 webui 的网址

注意事项

  • 确保所有进程正确关闭后再启动新的服务
  • 注意检查模型路径和配置参数的正确性
  • 保持网络连接的稳定性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值