Downloads · 30 days
72
3% of all-time downloads
typhoon-ai/llama-3-typhoon-v1.5-8b-audio-preview
llama-3-typhoon-v1.5-8b-audio-preview is a text generation model from typhoon-ai. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as llama3.
llama-3-typhoon-v1.5-8b-audio-preview is a 🇹🇭 Thai audio-language model. It supports both text and audio input modalities natively while the output is text. This version (August 2024) is our first audio-language mod…
Downloads · 30 days
72
3% of all-time downloads
All-time downloads
2.7K
Public
Repo size
49.9 GB
Likes
13
Public
Click a slice to open those files.
.bin17.6 GB · 100%
From the Hugging Face model README
llama-3-typhoon-v1.5-8b-audio-preview is a 🇹🇭 Thai audio-language model. It supports both text and audio input modalities natively while the output is text. This version (August 2024) is our first audio-language model as a part of our multimodal effort, and it is a research preview version. The base language model is our llama-3-typhoon-v1.5-8b-instruct.
More details can be found in our technical report. *To acknowledge Meta's effort in creating the foundation model and to comply with the license, we explicitly include "llama-3" in the model name.
from transformers import AutoModel
import soundfile as sf
import librosa
# Initialize from the trained model
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()
# read a wav file (it needs to be in 16 kHz and clipped to 30 seconds)
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")
# Run generation
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,
# temperature=0.4,
# top_p=0.9,
)
print(response)
Generation Parameters:
soundfile.read or librosa.resample to read a wav file like the example abovestr) -- Text input to the modelstr) -- Chat template that is augmented with special tokens, and it must be set the same as one during trainingint, optional, defaults to 1024)int, optional, defaults to 4)bool, optional, defaults to True)float, optional, defaults to 0.9)float, optional, defaults to 1.0),float, optional, defaults to 1.0),float, optional, defaults to 1.0),This is also model.generate_stream() for streaming generation. Please refer to modeling_typhoonaudio.py for this function.
More information is provided in our technical report.
| Model | 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 |
| Model | 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 |
This model is experimental and may not always follow human instructions accurately, making it prone to generating hallucinations. Additionally, the model lacks moderation mechanisms and may produce harmful or inappropriate responses. Developers should carefully assess potential risks based on their specific applications.
We would like to thank the SALMONN team for open-sourcing their code and data, and thanks to the Biomedical and Data Lab at Mahidol University for releasing the fine-tuned Whisper that allowed us to adopt its encoder. Thanks to many other open-source projects for their useful knowledge sharing, data, code, and model weights.
Potsawee Manakul, Sittipong Sripaisarnmongkol, Natapong Nitarach, Warit Sirichotedumrong, Adisai Na-Thalang, Phatrasek Jirabovonvisut, Parinthapat Pengpun, Krisanapong Jirayoot, Pathomporn Chokchainant, Kasima Tharnpipitchai, Kunat Pipatanakul