Skip to content

a-persimmons/persimmons-huanhuan-chat

Repository files navigation

persimmons-huanhuan-chat

概述

手把手 演示 llama-3-8b-instruct 微调一个 嬛嬛-Chat mvp版本的过程 以及 LLM数据集生成

微调环境

微调过程

  1. 先充值:5块,新注册后领取5块抵50卷,然后使用,充值

  2. 购买机器:

    image-20240520191430008

    image-20240520191547880

    根据提示填写端口号,然后直接创建实例image-20240520191728821

  3. 回到实例

    image-20240520191932438

  4. 打开实例的 Jupyter

    image-20240520192338409

  5. 双击进入 fssd目录

    image-20240520192312496

  6. 双击 进入终端

    image-20240520192436168image-20240520192534174

  7. 克隆项目

    git clone https://github.com/a-persimmons/persimmons-huanhuan-chat.git
    
    cp persimmons-huanhuan-chat/LLaMA3_8B_Instruct_Lora_huanhuan.ipynb .
  8. 双击打开微调脚本 LLaMA3_8B_Instruct_Lora_huanhuan.ipynb

  9. 开始炼丹微调,按步骤一步一走

  10. ⚠️注意⚠️

  • 在开始微调后面会打印loss,我这里的演示最后的loss只到了1.几(没有炼丹完成,只是为了演示整个过程);
  • 一般判断炼丹效果方法:最后的loss接近0,如果等于0就变成了死记硬背了。不过也要看你的业务要求。
  • 在你的微调过程中你需要根据loss的情况调整相关参数,这里说一下有哪些参数:
    • 首先是Epoch参数,通过增加学习次数来增加学习效果,调整再微调看loss,如果loss还是没有下降,那么就可能是lora的参数矩阵不够。
    • 接下来调整lora_rank 64 lora_alpha 128,增加Lora参数来提高学习率。
    • 另外一种也可以直接切换参数量的尺寸的模型。

本地“安装”模型和设置

  1. 下载模型

    单机 这个图标

    image-20240520194615691

    进入fsas 目录

    image-20240520194650036

    单机右键 选择下载即可

    image-20240520194755209

  2. 本地部署模型

    1. 安装ollama,根据你的系统进行下载安装:ollama.com/download,然后打开终端命令行ollama serve或图标(mac/win)启动

    2. 复制刚刚下载的gguf文件名(不要.gguf后缀)

    3. 在你下载的gguf的同级目录下,创建一个文件Modelfile,然后输入以下内容:

      FROM <刚刚复制的文件名>.gguf
      TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
      
      {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
      
      {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
      
      {{ .Response }}<|eot_id|>"""
      PARAMETER stop "<|start_header_id|>"
      PARAMETER stop "<|end_header_id|>"
      PARAMETER stop "<|eot_id|>"
      PARAMETER stop "<|reserved_special_token"
    4. 打开终端,cd 到刚刚下载的gguf目录下,或在此目录下打开终端(支持的话)

    5. 执行”安装“gguf模型命令:

      ollama create <刚刚复制的文件名>:8b -f ./Modelfile
    6. 加载完成,看见success就是“安装”完成。

    7. 查看“安装”的模型列表:

      ollama list
    8. 测试模型:

      ollama run <复制 ollama list中NAMA列的全名称(包含:后面的)>
    9. 然后和他像在ChatGPT一样,和他对话,比如“你是谁”

    10. 结束测试模型:ctrl/control + D

  3. 安装Docker(已安装跳过)

    安装完成后,然后注册/登录

    1. Mac:Install Docker Desktop on Mac | Docker Docs
    2. Win:Install Docker Desktop on Windows | Docker Docs
    3. Ubuntu/Linux:Install Docker Desktop on Linux | Docker Docs
  4. 安装前端界面(使用像ChatGPT的类界面,本地使用模型),这里使用的是open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

    # 有GPU的话使用这个,比如 有nvidia显卡的游戏本 Win/ubuntu
    docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
    
    # 只有CPU的话用这个,比如 mac(Intel)
    docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
  5. 等待安装完成,最后访问:http://localhost:3030,随便注册下,进入下面界面:

    image-20240522124547290

  6. 设置连接本地ollama服务

    1. 点开右上角设置图标

      image-20240522124704243

    2. 设置中文

      image-20240522124810253

    3. 设置Ollama API 连接:http://host.docker.internal:11434,然后点击旁边的刷新按钮,最后 保存

      image-20240522124849005

    4. 查看是否连接成功,如下是否能看见之前ollama list,看到的模型列表

      image-20240522125231596

开始聊天

  1. 回到聊天界面,顶部选择模型,愉快的Chat

    image-20240522125552079

鸣谢

About

llama-3-8b-instruct 微调一个 嬛嬛-Chat 过程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published