我用一种新的编程语言微调了我的模型。你也可以!🚀 你的 LLM 数据集 Autotrain,你的模型

2025-05-24

我用一种新的编程语言微调了我的模型。你也可以做到!🚀

您的 LLM 数据集

Autotrain,你的模型

我使用 OpenAI ChatGPT-4 已经有一段时间了。
我对它没什么不好的评价。
但有时候,它还是不够好。

Winglang中,我们希望使用 OpenAI 和 ChatGPT-4 根据我们的文档来回答人们的问题。

您的选择是:

  • 使用OpenAI 助手或任何其他基于矢量的数据库 (RAG)。由于 Wing 看起来像 JS,所以效果很好,但仍然存在很多错误。
  • 将整个文档传递到上下文窗口非常昂贵。

很快,我们意识到这行不通。
是时候自己办法学硕士了。

问题


您的 LLM 数据集

在训练模型之前,我们需要创建用于训练模型的数据。在本例中,数据是Winglang文档。我会做一些非常简单的事情。

  1. 从站点地图中提取所有 URL,设置 GET 请求并收集内容。
  2. 解析它;我们希望将所有 HTML 转换为可读的内容。
  3. 使用 ChatGPT 4 运行它,将内容转换为 CSV 作为数据集。

它应该是这样的:

LLM数据集

完成后,保存一个包含一列名称的 CSV 文件text,并添加问题和答案。我们稍后会用到它。它看起来应该像这样:

text
<s>[INST]How to define a variable in Winglang[/INST] let a = 'Hello';</s>
<s>[INST]How to create a new lambda[/INST] bring cloud; let func = new cloud.Function(inflight () => { log('Hello from the cloud!'); });</s>
Enter fullscreen mode Exit fullscreen mode

将其保存到计算机上名为 的新文件夹中data


Autotrain,你的模型

我的电脑很弱,所以我决定采用较小的型号 - 7b 参数:mistralai/Mistral-7B-v0.1

训练模型的方法有千万种。我们将使用 Huggingface Autotrain。我们将使用他们的 CLI,无需运行任何 Python 代码 🚀

当您使用 Huggingface 的 Autotrain 时,您可以在您的计算机上对其进行训练(这是我的方法)或在他们的服务器上对其进行训练(付费)并训练更大的模型。

我的旧 Macbook Pro M1 2021 没有 GPU。谢谢你,Apple🍎。

让我们安装自动训练。

pip install -U autotrain-advanced
autotrain setup > setup_logs.txt
Enter fullscreen mode Exit fullscreen mode

然后,我们需要做的就是运行自动训练命令:

autotrain llm \
--train \
--model "mistralai/Mistral-7B-Instruct-v0.2" \
--project-name "autotrain-wing" \
--data-path data/ \
--text-column text \
--lr "0.0002" \
--batch-size "1" \
--epochs "3" \
--block-size "1024" \
--warmup-ratio "0.1" \
--lora-r "16" \
--lora-alpha "32" \
--lora-dropout "0.05" \
--weight-decay "0.01" \
--gradient-accumulation "4" \
--quantization "int4" \
--mixed-precision "fp16" \
--peft
Enter fullscreen mode Exit fullscreen mode

完成后,您将拥有一个名为“autotrain-wing”的新目录,其中包含新的微调模型🚀


玩转模型

要使用该模型,请先运行:

pip install transformers torch
Enter fullscreen mode Exit fullscreen mode

完成后,创建一个名为invoke.py的新Python文件,其中包含以下代码:

from transformers import pipeline

# Path to your local model directory
model_path = "./autotrain-wing"

# Load the model and tokenizer from the local directory
classifier = pipeline("text-classification", model=model_path, tokenizer=model_path)

# Example text to classify
text = "Example text to classify"
result = classifier(text)
print(result)
Enter fullscreen mode Exit fullscreen mode

然后您可以通过运行 CLI 命令来运行它:

python invoke.py
Enter fullscreen mode Exit fullscreen mode

你已经完成了🚀


继续攻读法学硕士学位

我仍在学习法学硕士(LLM)。
我意识到,追踪模型的变化并不容易。

您实际上不能将它与 Git 一起使用,因为模型可以达到非常大的尺寸 > 100 GB;这没有多大意义 - git 不能很好地处理它。

更好的方法是使用名为KitOps的工具。

我认为它很快就会成为 LLM 领域的标准,因此请确保为该库加注星标,以便以后可以使用它。

  1. 下载最新的KitOps 版本安装它

  2. 进入模型文件夹并运行命令来打包你的 LLM:

    kit pack .
    
  3. 您还可以通过运行以下命令将其推送到 Docker hub

    kit pack . -t [your registry address]/[your repository name]/mymodelkit:latest
    

    💡 要了解如何使用 DockerHub,请查看此处

 

⭐️ 为 KitOps 加星标,以便您以后可以再次找到它⭐️

StarRepo


我开设了一个新的 YouTube 频道,主要涉及开源营销 :)

(例如如何获得星星、叉子和客户端)

如果您对此感兴趣,请随时在此处订阅:
https://www.youtube.com/@nevo-david? sub_confirmation=1

文章来源:https://dev.to/github20k/i-fine-tuned-my-model-on-a-new-programming-language-you-can-do-it-too-449
PREV
我已经受够了查看 GitHub 趋势提要...😡 TL;DR
NEXT
我适合这份工作,但不确定为什么我得不到它!😕