星期一, 16 6 月, 2025
No Result
View All Result
AI TAIWAN 台灣人工智慧中心
  • Home
  • AI 綜合新聞
  • AI 自動化與 AI Agents
  • AI 智慧產業
  • 機器學習與應用
  • 自然語言處理
  • 神經連結和腦機接口
  • 機器人與自動化
  • 道德與法規
  • 安全
AI TAIWAN 台灣人工智慧中心
  • Home
  • AI 綜合新聞
  • AI 自動化與 AI Agents
  • AI 智慧產業
  • 機器學習與應用
  • 自然語言處理
  • 神經連結和腦機接口
  • 機器人與自動化
  • 道德與法規
  • 安全
No Result
View All Result
AI TAIWAN 台灣人工智慧中心
No Result
View All Result
Your Ad
Home AI 綜合新聞

使用Axolotl進行高效LLM訓練的QLoRA微調Mistral 7B教程

2025-02-10
in AI 綜合新聞
0 0
0
使用Axolotl進行高效LLM訓練的QLoRA微調Mistral 7B教程
Share on FacebookShare on Twitter
Your Ad


教學:使用 QLoRA 和 Axolotl 微調 Mistral 7B

在這個教學中,我們將展示如何使用 QLoRA 和 Axolotl 微調 Mistral 7B,並且在有限的 GPU 資源下,為新的任務自訂模型。我們將安裝 Axolotl,創建一個小的範例數據集,配置 LoRA 特定的超參數,執行微調過程,並測試最終模型的性能。

步驟 1:準備環境並安裝 Axolotl

# 1. 檢查 GPU 可用性
!nvidia-smi

# 2. 安裝 git-lfs(用於處理大型模型文件)
!sudo apt-get -y install git-lfs
!git lfs install

# 3. 從源碼克隆 Axolotl 並安裝
!git clone https://github.com/OpenAccess-AI-Collective/axolotl.git
%cd axolotl
!pip install -e .

# (可選)如果需要特定的 PyTorch 版本,請在安裝 Axolotl 之前安裝:
# !pip install torch==2.0.1+cu118 –extra-index-url https://download.pytorch.org/whl/cu118

# 返回到 /content 目錄
%cd /content

首先,我們檢查可用的 GPU 和記憶體大小。接著,我們安裝 Git LFS,以便能夠正確處理大型模型文件(像是 Mistral 7B)。然後,我們從 GitHub 克隆 Axolotl 的代碼庫並以「可編輯」模式安裝,這樣我們就可以隨時調用它的命令。如果需要,還可以選擇安裝特定的 PyTorch 版本。最後,我們回到 /content 目錄,以便整齊地組織後續的文件和路徑。

步驟 2:創建小型範例數據集和 Mistral 7B 的 QLoRA 配置

import os

# 創建小型 JSONL 數據集
os.makedirs(“data”, exist_ok=True)
with open(“data/sample_instructions.jsonl”, “w”) as f:
f.write(‘{“instruction”: “用簡單的語言解釋量子計算。”, “input”: “”, “output”: “量子計算使用量子位元…”}\n’)
f.write(‘{“instruction”: “法國的首都在哪裡?”, “input”: “”, “output”: “法國的首都是巴黎。”}\n’)

# 為 Mistral 7B 編寫 QLoRA 配置
config_text = “””\
base_model: mistralai/mistral-7b-v0.1
tokenizer: mistralai/mistral-7b-v0.1

# 我們將使用 QLoRA 來減少記憶體使用
train_type: qlora
bits: 4
double_quant: true
quant_type: nf4

lora_r: 8
lora_alpha: 16
lora_dropout: 0.05
target_modules:
– q_proj
– k_proj
– v_proj

data:
datasets:
– path: /content/data/sample_instructions.jsonl
val_set_size: 0
max_seq_length: 512
cutoff_len: 512

training_arguments:
output_dir: /content/mistral-7b-qlora-output
num_train_epochs: 1
per_device_train_batch_size: 1
gradient_accumulation_steps: 4
learning_rate: 0.0002
fp16: true
logging_steps: 10
save_strategy: “epoch”
evaluation_strategy: “no”

wandb:
enabled: false
“””

with open(“qlora_mistral_7b.yml”, “w”) as f:
f.write(config_text)

print(“數據集和 QLoRA 配置已創建。”)

在這裡,我們建立了一個最小的 JSONL 數據集,包含兩組指令和回應,這樣我們就有了一個小範例來進行訓練。接著,我們構建了一個 YAML 配置,指向 Mistral 7B 基本模型,設置 QLoRA 參數以便於記憶體有效的微調,並定義訓練的超參數,如批次大小、學習率和序列長度。我們還指定了 LoRA 設定,如 dropout 和 rank,最後將這個配置保存為 qlora_mistral_7b.yml。

步驟 3:使用 Axolotl 進行微調

# 這將下載 Mistral 7B(約 13 GB)並開始使用 QLoRA 進行微調。
# 如果遇到 OOM(記憶體不足)錯誤,請減少 max_seq_length 或 LoRA rank。

!axolotl –config /content/qlora_mistral_7b.yml

在這裡,Axolotl 自動獲取並下載 Mistral 7B 的權重(這是一個大型文件),然後啟動基於 QLoRA 的微調程序。模型被量化為 4 位精度,這有助於減少 GPU 的記憶體使用。你會看到訓練日誌,顯示進度,包括每一步的訓練損失。

步驟 4:測試微調後的模型

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

# 加載基本的 Mistral 7B 模型
base_model_path = “mistralai/mistral-7b-v0.1” # 首先使用你的 HF 用戶帳號建立訪問權限,然後運行這部分
output_dir = “/content/mistral-7b-qlora-output”

print(“\n加載基本模型和分詞器…”)
tokenizer = AutoTokenizer.from_pretrained(
base_model_path,
trust_remote_code=True
)
base_model = AutoModelForCausalLM.from_pretrained(
base_model_path,
device_map=”auto”,
torch_dtype=torch.float16,
trust_remote_code=True
)

print(“\n加載 QLoRA 適配器…”)
model = PeftModel.from_pretrained(
base_model,
output_dir,
device_map=”auto”,
torch_dtype=torch.float16
)
model.eval()

# 範例提示
prompt = “經典計算和量子計算之間的主要區別是什麼?”
inputs = tokenizer(prompt, return_tensors=”pt”).to(“cuda”)

print(“\n生成回應中…”)
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=128)

response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(“\n=== 模型輸出 ===”)
print(response)

最後,我們再次加載基本的 Mistral 7B 模型,然後應用新訓練的 LoRA 權重。我們設計了一個關於經典計算和量子計算之間差異的簡單提示,將其轉換為標記,並使用微調後的模型生成回應。這證實了我們的 QLoRA 訓練已經生效,並且我們可以成功地在更新的模型上進行推理。

Axolotl 支援的模型快照

總結來說,上述步驟展示了如何準備環境、設置小型數據集、配置 LoRA 特定的超參數,並在 Mistral 7B 上使用 Axolotl 執行 QLoRA 微調會話。這種方法展示了一種適合資源有限環境的參數有效訓練過程。你現在可以擴展數據集、修改超參數,或嘗試不同的開源 LLM 來進一步完善和優化你的微調流程。

在這裡下載 Colab 筆記本。所有的研究成果都歸功於這個項目的研究人員。此外,別忘了在 Twitter 上關注我們,加入我們的 Telegram 頻道和 LinkedIn 群組。也別忘了加入我們的 75k+ ML SubReddit。

🚨 Marktechpost 邀請 AI 公司/初創企業/團體合作,為即將推出的 AI 雜誌「開源 AI 在生產中的應用」和「代理 AI」提供支持。



新聞來源

本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!

Tags: 7B教程使用Axolotl進行高效LLM訓練的QLoRA微調Mistral
Previous Post

大型語言模型中的自適應推理預算管理透過受限政策優化

Next Post

詢問數據倫理學家:組織如何建立數據和人工智慧倫理工作的能力?

Related Posts

中國教育改革人工智慧助力創新人才培育
AI 綜合新聞

中國教育改革人工智慧助力創新人才培育

2025-06-11
AI 助力中風患者康復Devon 的 SAMueL-2 計畫創新突破
AI 綜合新聞

AI 助力中風患者康復Devon 的 SAMueL-2 計畫創新突破

2025-04-24
2027 年 AI 預測人類水平 AI 的全新里程碑
AI 綜合新聞

2027 年 AI 預測人類水平 AI 的全新里程碑

2025-04-21
全球AI教育市場蓬勃發展智慧學習工具引領新趨勢
AI 綜合新聞

全球AI教育市場蓬勃發展智慧學習工具引領新趨勢

2025-04-21
AI 技術對人類智能的影響我們在失去什麼?
AI 綜合新聞

AI 技術對人類智能的影響我們在失去什麼?

2025-04-20
MIT 研發新技術提升 AI 生成代碼準確性助力非專業人士掌握 SQL 語言
AI 綜合新聞

MIT 研發新技術提升 AI 生成代碼準確性助力非專業人士掌握 SQL 語言

2025-04-18
Next Post
詢問數據倫理學家:組織如何建立數據和人工智慧倫理工作的能力?

詢問數據倫理學家:組織如何建立數據和人工智慧倫理工作的能力?

雙子座 2.0 向所有人開放 — 每週 AI 通訊 (2025 年 2 月 10 日)

雙子座 2.0 向所有人開放 — 每週 AI 通訊 (2025 年 2 月 10 日)

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Archives

  • 2025 年 6 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 5 月
  • 2023 年 3 月
  • 2023 年 1 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 1 月
  • 2021 年 11 月
  • 2021 年 8 月
  • 2021 年 5 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2019 年 7 月
  • 2018 年 11 月

Categories

  • AI 智慧產業
  • AI 綜合新聞
  • AI 自動化與 AI Agents
  • 安全
  • 機器人與自動化
  • 機器學習與應用
  • 神經連結和腦機接口
  • 自然語言處理
  • 道德與法規
Your Ad
  • 關於我們
  • 廣告合作
  • 免責聲明
  • 隱私權政策
  • DMCA
  • Cookie 隱私權政策
  • 條款與條件
  • 聯絡我們
AI TAIWAN

版權 © 2024 AI TAIWAN.
AI TAIWAN 對外部網站的內容不負任何責任。

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Home
  • AI 綜合新聞
  • AI 自動化與 AI Agents
  • AI 智慧產業
  • 機器學習與應用
  • 自然語言處理
  • 神經連結和腦機接口
  • 機器人與自動化
  • 道德與法規
  • 安全

版權 © 2024 AI TAIWAN.
AI TAIWAN 對外部網站的內容不負任何責任。