🚀 Typhoon-Audio 預覽版
Typhoon-Audio 預覽版是一款支持泰語和英語的多模態語音語言模型。它允許用戶輸入文本或語音,並輸出文本內容。該模型基於 Llama 3 架構,結合了 Whisper 和 BEATs 的音頻編碼器,能夠在多種語音任務中提供出色的性能。
🚀 快速開始
Typhoon-Audio 預覽版是我們在多模態領域的首次嘗試,它支持文本和音頻輸入,並以文本形式輸出。此版本(2024 年 8 月)為研究預覽版,基礎語言模型為 llama-3-typhoon-v1.5-8b-instruct。更多詳細信息請參考我們的技術報告。
✨ 主要特性
- 多模態支持:支持文本和音頻輸入,以文本形式輸出。
- 語言能力:支持泰語和英語。
- 研究預覽版:作為多模態研究的初步成果,提供實驗性支持。
📦 安裝指南
使用該模型需要 transformers
4.38.0 或更高版本。你可以使用以下命令進行安裝:
pip install transformers>=4.38.0
💻 使用示例
基礎用法
from transformers import AutoModel
import soundfile as sf
import librosa
model = AutoModel.from_pretrained(
"scb10x/llama-3-typhoon-v1.5-8b-audio-preview",
torch_dtype=torch.float16,
trust_remote_code=True
)
model.to("cuda")
model.eval()
audio, sr = sf.read("path_to_your_audio.wav")
if len(audio.shape) == 2:
audio = audio[:, 0]
if len(audio) > 30 * sr:
audio = audio[: 30 * sr]
if sr != 16000:
audio = librosa.resample(audio, orig_sr=sr, target_sr=16000, res_type="fft")
prompt_pattern="<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\n<Speech><SpeechHere></Speech> {}<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"
response = model.generate(
audio=audio,
prompt="transcribe this audio",
prompt_pattern=prompt_pattern,
do_sample=False,
max_new_tokens=512,
repetition_penalty=1.1,
num_beams=1,
)
print(response)
生成參數說明
audio
-- 音頻輸入,例如使用 soundfile.read
或 librosa.resample
讀取 wav 文件,如上述示例。
prompt
(str
) -- 輸入到模型的文本。
prompt_pattern
(str
) -- 包含特殊標記的聊天模板,必須與訓練時的設置相同。
max_new_tokens
(int
, 可選, 默認值為 1024)
num_beams
(int
, 可選, 默認值為 4)
do_sample
(bool
, 可選, 默認值為 True)
top_p
(float
, 可選, 默認值為 0.9)
repetition_penalty
(float
, 可選, 默認值為 1.0)
length_penalty
(float
, 可選, 默認值為 1.0)
temperature
(float
, 可選, 默認值為 1.0)
此外,還有 model.generate_stream()
用於流式生成。請參考 modeling_typhoonaudio.py
瞭解該函數的使用方法。
📚 詳細文檔
模型描述
屬性 |
詳情 |
模型類型 |
大語言模型基於 Typhoon-1.5-8b-instruct,音頻編碼器基於 Whisper 的編碼器和 BEATs。 |
依賴版本 |
transformers 4.38.0 或更高版本。 |
主要語言 |
泰語和英語。 |
演示地址 |
https://audio.opentyphoon.ai/ |
許可證 |
Llama 3 社區許可證 |
評估結果
更多信息請參考我們的技術報告。
自動語音識別和機器翻譯評估
模型 |
ASR-en (WER↓) |
ASR-th (WER↓) |
En2Th (BLEU↑) |
X2Th (BLEU↑) |
Th2En (BLEU↑) |
SALMONN-13B |
5.79 |
98.07 |
0.07 |
0.10 |
14.97 |
DiVA-8B |
30.28 |
65.21 |
9.82 |
5.31 |
7.97 |
Gemini-1.5-pro-001 |
5.98 |
13.56 |
20.69 |
13.52 |
22.54 |
Typhoon-Audio-Preview |
8.72 |
14.17 |
17.52 |
10.67 |
24.14 |
泰語特定任務評估
模型 |
Gender-th (Acc) |
SpokenQA-th (F1) |
SpeechInstruct-th |
SALMONN-13B |
93.26 |
2.95 |
1.18 |
DiVA-8B |
50.12 |
15.13 |
2.68 |
Gemini-1.5-pro-001 |
81.32 |
62.10 |
3.93 |
Typhoon-Audio-Preview |
93.74 |
64.60 |
6.11 |
🔧 技術細節
本模型的技術細節可參考我們的技術報告。
⚠️ 注意事項
本模型為實驗性模型,可能無法始終準確遵循人類指令,容易產生幻覺內容。此外,模型缺乏審核機制,可能會產生有害或不適當的回覆。開發者應根據具體應用場景仔細評估潛在風險。
🔗 關注與支持
🙏 致謝
感謝 SALMONN 團隊開源他們的代碼和數據,感謝瑪希隆大學的生物醫學與數據實驗室發佈微調後的 Whisper 模型,使我們能夠採用其編碼器。同時,感謝眾多開源項目分享的有用知識、數據、代碼和模型權重。
👥 颱風團隊
Potsawee Manakul, Sittipong Sripaisarnmongkol, Natapong Nitarach, Warit Sirichotedumrong, Adisai Na-Thalang, Phatrasek Jirabovonvisut, Parinthapat Pengpun, Krisanapong Jirayoot, Pathomporn Chokchainant, Kasima Tharnpipitchai, Kunat Pipatanakul