285 lines
11 KiB
Markdown
285 lines
11 KiB
Markdown
---
|
||
license: llama3.2
|
||
license_name: llama3.2
|
||
license_link: https://www.llama.com/llama3_2/license/
|
||
language:
|
||
- zh
|
||
- en
|
||
base_model: unsloth/Llama-3.2-3B-Instruct
|
||
datasets:
|
||
- yentinglin/TaiwanChat
|
||
library_name: transformers
|
||
pipeline_tag: text-generation
|
||
tags:
|
||
- llama-3.2
|
||
- unsloth
|
||
- qlora
|
||
- lora
|
||
- taiwan
|
||
- traditional-chinese
|
||
- zh-tw
|
||
- sft
|
||
---
|
||
|
||
# Llama-3.2-3B Taiwan Chat
|
||
|
||
**Built with Llama**
|
||
|
||
以 QLoRA(Unsloth)在 TaiwanChat 子集上微調 Llama-3.2-3B-Instruct 後,**合併為完整 fp16 權重**的版本,下載即用,目標是更自然的繁體中文與台灣在地語感。
|
||
|
||
*(English)* Llama-3.2-3B-Instruct fine-tuned with QLoRA (Unsloth) on a subset of yentinglin/TaiwanChat to improve Traditional-Chinese (Taiwan) fluency and localization. Loss was computed on assistant responses only. Research / non-commercial use only (the dataset is CC BY-NC 4.0).
|
||
|
||
## 訓練設定
|
||
|
||
| 項目 | 值 |
|
||
|---|---|
|
||
| Base model | `unsloth/Llama-3.2-3B-Instruct`(meta-llama/Llama-3.2-3B-Instruct 之權重相同鏡像) |
|
||
| 資料集 | [yentinglin/TaiwanChat](https://huggingface.co/datasets/yentinglin/TaiwanChat):取樣 15000 筆 → 過濾超過 2048 tokens 後剩 14776 筆 |
|
||
| 方法 | QLoRA:4-bit NF4 載入 + LoRA(r=16、alpha=16、dropout=0;q/k/v/o/gate/up/down 七個投影層) |
|
||
| max_seq_length | 2048 |
|
||
| Learning rate | 0.0002(linear decay、warmup ratio 0.03) |
|
||
| 訓練量 | 1 epoch(有效 batch size 8) |
|
||
| Optimizer | adamw_8bit(weight decay 0.001) |
|
||
| Loss 遮罩 | 只對 assistant 回覆計 loss(unsloth `train_on_responses_only`) |
|
||
| GPU / 時間 | NVIDIA A100-SXM4-40GB / 約 32.5 分鐘 |
|
||
| 最終 train loss | 1.2620 |
|
||
| Seed | 3407 |
|
||
| 訓練日期 | 2026-07-10 |
|
||
|
||

|
||
|
||
## 使用方式
|
||
|
||
這是**合併後的完整 fp16 模型**(~6.5 GB),可直接用 transformers 載入:
|
||
|
||
```python
|
||
from transformers import pipeline
|
||
|
||
pipe = pipeline("text-generation", model="steven0226/llama-3.2-3b-taiwan-chat", torch_dtype="auto", device_map="auto")
|
||
out = pipe([{"role": "user", "content": "請推薦台南的夜市小吃"}], max_new_tokens=256)
|
||
print(out[0]["generated_text"][-1]["content"])
|
||
```
|
||
|
||
也可用 vLLM / Unsloth 載入。只想要輕量 adapter → [steven0226/llama-3.2-3b-taiwan-chat-lora](https://huggingface.co/steven0226/llama-3.2-3b-taiwan-chat-lora)。
|
||
|
||
## 微調前後對照
|
||
|
||
同樣 5 個台灣情境問題、greedy decoding(可重現),差異完全來自微調:
|
||
|
||
<details>
|
||
<summary>請用台灣人習慣的說法介紹珍珠奶茶:它的由來、基本做法,以及為什麼能代表台灣的手搖飲文化。</summary>
|
||
|
||
**微調前(base):**
|
||
|
||
珍珠奶茶(也稱為「珍珠」或「奶茶」),是一種非常受歡迎的台灣手搖飲,尤其是在年輕人中非常流行。
|
||
|
||
**由來**
|
||
|
||
珍珠奶茶的起源可以追溯到20世紀60年代,當時在台北的街頭小吃店和咖啡館中,開始出現一種特殊的奶茶。這種奶茶使用了高質量的牛奶、糖和珍珠(即是糖化的水晶)等成分,通過手搖混合機製造出一種濃稠且有趣的飲料。
|
||
|
||
**基本做法**
|
||
|
||
珍珠奶茶的基本做法如下:
|
||
|
||
1. 使用高質量的牛奶和糖進行混合。
|
||
2. 加入一些珍珠(糖化的水晶)。
|
||
3. 使用手搖混合機搖拌所有成分,直到得到均勻的色彩和口感。
|
||
4. 將熱水加入混合物中,讓它充滿溫度並擴散。
|
||
5. 最後,將珍珠奶茶放入杯子中,並可添加
|
||
|
||
**微調後(fine-tuned):**
|
||
|
||
嗨,大家好!今天我想介紹一個非常受歡迎的台灣飲品 - 珍珠奶茶。這個飲品的由來是從1970年代開始在台灣流行起來,最初被稱為「珍珠」或「珍珠奶茶」。它是一種使用奶油和糖水製成的奶茶,配上珍珠(即小型的玉米淀粉)和冰塊。
|
||
|
||
珍珠奶茶的基本做法是將奶油和糖水混合在一起,然後加入熱水煮沸。然後,將珍珠和冰塊放入杯子中,最後加上奶茶。這個飲品非常受歡迎,因為它既有甜美的口感,又有清爽的口感。
|
||
|
||
珍珠奶茶可以代表台灣的手搖飲文化,因為它是一種由於手工製作而產生的飲品。台灣的人們喜歡手搖飲,因為它可以讓他們享受一種獨特的體驗。珍珠奶茶也可以代表台灣對生活的樂觀態度,因為它是一種可以讓人們快樂和愉
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>我是剛來台灣的交換學生,想辦手機門號。請比較預付卡和月租方案的差別,以及辦理時要準備哪些證件。</summary>
|
||
|
||
**微調前(base):**
|
||
|
||
Congratulations on your arrival in Taiwan!
|
||
|
||
當你想辦手機門號時,預付卡和月租方案都是兩個常見的選擇。下面是一個簡單的比較:
|
||
|
||
**預付卡(Prepaid Card)**
|
||
|
||
* 优點:可以自行充值,無需每月繳費;可控制使用量。
|
||
* 缺點:需要先充值一定額,否則無法使用;可能有額外的充值費用。
|
||
|
||
**月租方案(Postpaid Plan)**
|
||
|
||
* 优點:不需要先充值,毎月繳費;無需額外的充值費用。
|
||
* 缺點:每月繳費,可能會有額外的費用,如數據流量、通話等。
|
||
|
||
在 Taiwanese 手機業界中,預付卡和月租方案都很流行,但月租方案更為普遍。以下是兩…
|
||
|
||
**微調後(fine-tuned):**
|
||
|
||
當然可以幫助您!以下是預付卡和月租方案的比較:
|
||
|
||
預付卡:
|
||
- 預付費用通常較高,例如每月500元。
|
||
- 可以在任何時間使用,無需提前通知。
|
||
- 通話、短信和數字通訊服務都包含在費用中。
|
||
|
||
月租方案:
|
||
- 月租費用通常較低,例如每月200元。
|
||
- 通話、短信和數字通訊服務都包含在費用中,但可能不包括其他服務,如網路或視頻。
|
||
- 通話和短信可能需要額外的費用,如果您使用大量的服務。
|
||
|
||
為了辦理手機門號,您可能需要提供以下證件:
|
||
- 護照或國民身份證
|
||
- 電子郵件地址
|
||
- 手機號碼
|
||
- 一個有效的地址(如住所或公司地址)
|
||
|
||
根據您的具體情況,您可能還需要提供其他證件。建議您與手機供應商聯繫,以確定…
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>請推薦台南有名的夜市,並列出五樣必吃的小吃,每樣用一兩句話介紹。</summary>
|
||
|
||
**微調前(base):**
|
||
|
||
台南有許多著名的夜市,以下是一些常見的夜市和五樣必吃小吃:
|
||
|
||
1. **台南夜市**(台南市區)
|
||
* 這是台南最知名的夜市之一,提供各種 Taiwanese 飲食、服飾等商品。
|
||
2. **安平夜市**(台南市區)
|
||
* 這個夜市以其豐富的夜市環境和豐富的美食而聞名,特別是其豐富的 Street Food。
|
||
3. **新化夜市**(新化區)
|
||
* 這個夜市以其豐富的美食和豐富的購物環境而聞名,特別是其豐富的 Street Food 和手工製品。
|
||
|
||
以下是五樣必吃的小吃:
|
||
|
||
1. **麻辣鍋**(台南夜市或安平夜市)
|
||
* 這是一種非常受歡迎的 Taiwanese 飲食,使用麻辣粉末和肉類調理成…
|
||
|
||
**微調後(fine-tuned):**
|
||
|
||
台南最受歡迎的夜市是中西路夜市和新生路夜市。以下是一些在這兩個夜市上可以找到的小吃:
|
||
|
||
1. 中西路夜市:中西路夜市以其豐富多樣的食物而聞名,包括各種小吃、海鮮、肉類和甜點。
|
||
|
||
2. 新生路夜市:新生路夜市以其高品質的食物而聞名,包括各種小吃、海鮮、肉類和甜點。
|
||
|
||
以下是中西路夜市和新生路夜市上可以找到的一些小吃:
|
||
|
||
中西路夜市:
|
||
- 烤雞:烤雞是一種烤熟的雞肉,通常配上薑、蒜和辣椒。它是一種簡單而美味的食物。
|
||
- 鷹嘴豆腐:鷹嘴豆腐是一種煮熟的豆腐,通常配上醬汁和蔬菜。它是一種口感豐富且營養豐富的食物。
|
||
- 烤魚:烤魚是一種<E4B880>
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>「土豆」這個詞在台灣和中國大陸分別指什麼?請再舉三組兩岸說法不同的日常用語,整理成表格。</summary>
|
||
|
||
**微調前(base):**
|
||
|
||
「土豆」的意思在台灣是指一種小型的、白色的、扁平的豆類,通常用來做菜或食物。然而,在中國大陸,「土豆」則是指一種長而高大的、白色的、圓形的豆類。
|
||
|
||
以下是兩岸不同日常用語的表格:
|
||
|
||
| 語言 | 日常用語 |
|
||
| --- | --- |
|
||
| 台灣 | 土豆 |
|
||
| 中國大陸 | 土豆 |
|
||
|
||
另外,以下是一些兩岸不同的日常用語:
|
||
|
||
| 語言 | 日常用語 |
|
||
| --- | --- |
|
||
| 台灣 | 錦路石 (指一種常見的花色) |
|
||
| 中國大陸 | 醉酒 (指一種常見的花色) |
|
||
| 台灣 | 錦路石 |
|
||
| 中國大陸 | 醉酒 |
|
||
| 台灣 | 錦路石 (指一種常見的花色) |
|
||
| 中國大陸…
|
||
|
||
**微調後(fine-tuned):**
|
||
|
||
| 語言 | 語義 |
|
||
| --- | --- |
|
||
| 中文 | 土豆 |
|
||
| 台語 | 土豆 |
|
||
| 英文 | Potato |
|
||
|
||
| 語言 | 語義 |
|
||
| --- | --- |
|
||
| 中文 | 水果 |
|
||
| 台語 | 水果 |
|
||
| 英文 | Fruit |
|
||
|
||
| 語言 | 語義 |
|
||
| --- | --- |
|
||
| 中文 | 飾菜 |
|
||
| 台語 | 飾菜 |
|
||
| 英文 | Vegetable |
|
||
|
||
| 語言 | 語義 |
|
||
| --- | --- |
|
||
| 中文 | 飾菜 |
|
||
| 台語 | 飾菜 |
|
||
| 英文 | Vegetable |
|
||
|
||
| 語言 | 語義 |
|
||
| --- | --- |
|
||
|…
|
||
|
||
</details>
|
||
|
||
<details>
|
||
<summary>請解釋台灣的「垃圾不落地」政策,以及為什麼垃圾車會播放音樂?</summary>
|
||
|
||
**微調前(base):**
|
||
|
||
台灣的「垃圾不落地」政策是由於政府對環境保護和衛生管理的重視。這個政策要求垃圾收集、處理和廢棄地點都要遵守規定,確保垃圾不被遺棄在公共空間中。
|
||
|
||
關於垃圾車播放音樂的原因,我們可以從以下幾點來看:
|
||
|
||
1. **警告和引導**:垃圾車上的音樂可能是用來警告人們不要擋路或擋車,讓人們能夠順暢通過。
|
||
2. **安全性**:音樂也可能是用來增加垃圾車的安全性,例如避免人們誤將垃圾車當作一種交通工具。
|
||
3. **環境保護**:音樂也可能是用來促進環境保護,例如鼓勵人們減少垃圾產量和更好地分類垃圾。
|
||
|
||
總之,垃圾車播放音樂的目的是為了提高安全性、環境保護和衛生管理,讓我們能夠更好
|
||
|
||
**微調後(fine-tuned):**
|
||
|
||
台灣的「垃圾不落地」政策是指政府要求所有垃圾都要被收集並處理。這個政策旨在減少環境污染,並促進廢棄物管理。
|
||
|
||
垃圾車會播放音樂是因為它們需要在路上移動,同時也要讓人們知道他們正在進行工作。這樣可以避免與其他交通工具發生衝突,並確保安全運行。
|
||
|
||
</details>
|
||
|
||
## 限制
|
||
|
||
- 事實型內容(電信資費、店家、時刻)可能過時或幻覺,請勿當作查詢工具。
|
||
- 訓練資料含翻譯/合成語料,偶爾仍會滲出簡體中文或英文片段。
|
||
- 未做額外安全對齊,安全行為同 base model。
|
||
|
||
## 授權與合規
|
||
|
||
- 模型權重依 [Llama 3.2 Community License](https://www.llama.com/llama3_2/license/) 發佈(repo 內附 LICENSE.txt 與 NOTICE),使用須遵守 [Acceptable Use Policy](https://www.llama.com/llama3_2/use-policy)。
|
||
- 訓練資料 TaiwanChat 為 [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/):**本模型僅供研究/非商業用途**。
|
||
|
||
## 引用
|
||
|
||
```bibtex
|
||
@misc{lin2023taiwanllm,
|
||
title={Taiwan LLM: Bridging the Linguistic Divide with a Culturally Aligned Language Model},
|
||
author={Yen-Ting Lin and Yun-Nung Chen},
|
||
year={2023},
|
||
eprint={2311.17487},
|
||
archivePrefix={arXiv}
|
||
}
|
||
```
|
||
|
||
訓練使用 [Unsloth](https://github.com/unslothai/unsloth)。訓練程式碼:[github.com/tun0000/llama32-taiwanchat-qlora](https://github.com/tun0000/llama32-taiwanchat-qlora)
|