🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

自己的克隆AI的製作

大家好。
大家有沒有想過如果有另一個自己會怎麼樣呢?
應該沒有吧,我也沒有。(那標題是什麼意思呢)

這篇文章是以地方LLM的會議為題材寫的。
https://qiita.com/advent-calendar/2025/large-language-model

這次的主題是學習 X 的帖子,製作屬於自己獨特的 LLM!
就是這個意思。

提到 LLM 的學習,大家會有什麼樣的印象呢?

「聽起來學習成本好像很高」
「好像非常困難」

如果深入探討,確實如此,但如果只是用 Lora, QLora 進行輕量模型的「學習」,其實是相當容易的。

沒錯,只要使用 Unsloth 的官方 colab 筆記本就可以了。

只需點擊幾個按鈕,就能進行微調,非常適合本地 LLM 的初學者。雖然實用性取決於數據集的質量和基礎模型,但整體學習流程你會有大概的掌握。

準備數據集和學習準備

當然你可以利用 HuggingFace 上現有的高品質數據集,但那樣就缺乏趣味性了。

因此這次我想嘗試學習自己的推文。

模型將使用 qwen3-4b-instruct 進行調整,然後將量子化的 gguf 存儲起來並上傳到 HuggingFace。選擇 qwen3-4b-instruct 的原因是,製作推理數據集稍微麻煩,而且完成的量子化模型在一般的筆記型電腦上也可以運行。

從上面點擊 Qwen3-2507-4B 的 Instruct 會帶你到 Unsloth 的官方 Colab 筆記本。

image.png

基本上,只要將數據集部分替換成自己製作的就可以執行,但這個筆記本使用了 ShareGPT 格式的數據集(mlabonne/FineTome-100k)作為示範,因此在數據集製作階段也請遵循此格式。

image.png

至於用作基礎的 X 的數據,請從您的 X 帳戶中下載存檔。

image.png

請注意,獲取過程可能有 24 小時的延遲。
下載的 Zip 文件中,tweets.js 檔案是您的所有推文數據。

這樣直接用是無法使用的,因此首先需要成功解析並提取推文的內容。

流程為:提取推文內容 → LLM 生成逆向問題 → 以 ShareGPT 格式保存。

以下是執行這串流程的腳本。是由 codex 幫我製作的。

默認情況下,它會使用本地 LLM(透過 LM-Studio 的 gpt-oss-20b 進行逆向問題生成),但可以根據需要進行修改。

舉例來說,在 extract_plain_text_tweets.py 之後使用 generate_sharegpt_from_tweets.py 可以得到以下輸出。

{
  "conversations": [
    {
      "from": "human",
      "value": "長時間睡眠體能改善、獲得了神之狀態,感受如何?"
    },
    {
      "from": "gpt",
      "value": "睡了好久後,體能好多了,真的有神之狀態了"
    }
  ]
}
{
  "conversations": [
    {
      "from": "human",
      "value": "NotebookLM 是什麼?"
    },
    {
      "from": "gpt",
      "value": "NotebookLM 很不錯啊"
    }
  ]
}
{
  "conversations": [
    {
      "from": "human",
      "value": "為何覺得使用 suno 來學習難度高?"
    },
    {
      "from": "gpt",
      "value": "一直試著想用 suno 學習但無法做到\n・日文的理解有點難\n・歌詞數量準備很麻煩(用 AI 能稍微解決)\n\n好處是最近的 8 分鐘大約是生成的上限,可以充實內容"
    }
  ]
}

老實說,逆向問題生成的精度比較一般,如果有好的提示或模型,請告訴我。

數據集製作完成後,將其上傳到您的 HuggingFace 帳戶。

實際運行學習

這次製作的數據集如下。

在官方的 Colab 筆記本的數據集相關部分打開

image.png

將這裡的 "mlabonne/FineTome-100k" 替換成 "自己的 hf 帳戶名/數據集的倉庫名"

例如這次的話,如下所示。

image.png

之後基本上按照步驟點擊執行(或 Run All)就可以了,不過最後將其 GGUF 格式化並上傳到 HuggingFace 的過程可能有點不清楚,這裡簡單解釋一下。

以下是以 GGUF 格式保存及推送到 HuggingFace 的部分。

在 HuggingFace 上建立模型倉庫後,將 False 的部分替換為 True 進行執行即可,但要推送到 HuggingFace 需要發行 token。(請在 HuggingFace 上用寫入權限發行。)

以下是模板。
將以下內容添加到代碼塊中,其餘保持 False(僅執行 True 的部分)。

if True:
    model.push_to_hub_gguf(
        "自己的 hf 帳戶名/倉庫名(模型名稱)",
        tokenizer,
        quantization_method = "q4_k_m",  #這裡可以改成 q8_0 等
        token = "hf_XXXXXXXXXXXXXXXXXXXXXXXXXXXX",  #在這裡填入擁有寫入權限的 hf_token
    )

這樣執行後就會自動推送了。
整個過程中實際產生的模型如下。

嘗試運行模型

關於已完成的模型,不知為什麼在 Ollama 上運行會出現錯誤。(其他模型也確認過幾次)

image.png

可能是重複懲罰等設置所造成,但基本上推薦使用 LM-Studio。(個人覺得那個更好用。)

可從 LM-Studio 的模型搜尋欄中搜索自己的倉庫名稱,便可以直接下載。

image.png

順便提一下,LM-Studio 的默認設置似乎不會出錯。
可以得到如以下所示的短文推文感的輸出。

如果有識者能告訴我原因,還請告知。

結語

老實說,這次的工作流程所製作的模型幾乎沒有用途

因為,學習的都是日常推文的帳戶,最多也只能得到語氣類似的結果。

不過,作為 LLM 微調的教程還是相當有趣的,也可以考慮以下特殊的應用。

  • AI 角色的語氣重現或 AItuber 用模型的製作
  • 奇怪領域的思維與文體追蹤
  • 特殊運用的帳戶內容自動生成

希望大家能夠感受到基礎數據的重要性。

那麼,再見。


原文出處:https://qiita.com/kokuren333/items/580448acf62e704c2122


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝14   💬4   ❤️5
463
🥈
我愛JS
📝1   💬4   ❤️2
48
🥉
酷豪
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付