🚀 台語-Llama-2翻訳器-7Bモデルカード
台語-Llama-2翻訳器シリーズは、台語-Llama-2シリーズモデルをベースに構築されています。263kの並列データを用いてファインチューニングを行い、台湾語(閩南語)と関連言語の翻訳モデルを作成しました。
詳細については、当社のGitHubリポジトリと論文Enhancing Taiwanese Hokkien Dual Translation by Exploring and Standardizing of Four Writing Systemsを参照してください。
台湾語(閩南語)LLMコレクションで他のモデルとデータセットを探索できます。
🚀 クイックスタート
このモデルは、繁体字中国語または英語と台湾語(閩南語)(漢字、POJ、または漢羅)の間の翻訳に使用できます。また、台湾語(閩南語)の異なる表記体系(漢字、POJ、漢羅)間の翻訳もサポートしています。
✨ 主な機能
- 繁体字中国語または英語と台湾語(閩南語)の相互翻訳
- 台湾語(閩南語)の異なる表記体系(漢字、POJ、漢羅)間の翻訳
📚 ドキュメント
モデルの説明
- ベースモデル: Bohanlu/Taigi-Llama-2-7B
- 用途: このモデルは、繁体字中国語または英語と台湾語(閩南語)(漢字、POJ、または漢羅)の間の翻訳に使用できます。また、台湾語(閩南語)の異なる表記体系(漢字、POJ、漢羅)間の翻訳もサポートしています。
- 言語 (NLP): 台湾語(閩南語)(漢字、POJ、および漢羅)、繁体字中国語、英語
- 入力: ソース言語のテキスト
- 出力: ターゲット言語のテキスト
- モデルサイズ: 70億パラメータ
プロンプトテンプレート
{BOS}[TRANS]\n{source_sentence}\n[/TRANS]\n[{target_language}]\n
source_sentence
: 翻訳したい文。
target_language
: 翻訳先のターゲット言語。繁体字中国語は"ZH"、英語は"EN"、台湾語(閩南語)POJは"POJ"、台湾語(閩南語)漢羅は"HL"、台湾語(閩南語)漢字は"HAN"を使用します。
- 末尾に改行が必要です。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer, TextGenerationPipeline
import torch
import accelerate
def get_pipeline(path:str, tokenizer:AutoTokenizer, accelerator:accelerate.Accelerator) -> TextGenerationPipeline:
model = AutoModelForCausalLM.from_pretrained(
path, torch_dtype=torch.float16, device_map='auto', trust_remote_code=True)
terminators = [tokenizer.eos_token_id, tokenizer.pad_token_id]
pipeline = TextGenerationPipeline(model = model, tokenizer = tokenizer, num_workers=accelerator.state.num_processes*4, pad_token_id=tokenizer.pad_token_id, eos_token_id=terminators)
return pipeline
model_dir = "Bohanlu/Taigi-Llama-2-Translator-7B"
tokenizer = AutoTokenizer.from_pretrained(model_dir, use_fast=False)
accelerator = accelerate.Accelerator()
pipe = get_pipeline(model_dir, tokenizer, accelerator)
PROMPT_TEMPLATE = "[TRANS]\n{source_sentence}\n[/TRANS]\n[{target_language}]\n"
def translate(source_sentence:str, target_language:str) -> str:
prompt = PROMPT_TEMPLATE.format(source_sentence=source_sentence, target_language=target_language)
out = pipe(prompt, return_full_text=False, repetition_penalty=1.1, do_sample=False)[0]['generated_text']
return out[:out.find("[/")].strip()
source_sentence = "How are you today?"
print("To Hanzi: " + translate(source_sentence, "HAN"))
print("To POJ: " + translate(source_sentence, "POJ"))
print("To Traditional Chinese: " + translate(source_sentence, "ZH"))
print("To Hanlo: " + translate(source_sentence, "HL"))
📄 ライセンス
このモデルは、CC BY-NC-SA 4.0ライセンスの下で提供されています。
引用
台湾語(閩南語)LLMコレクションのリソースがあなたの研究に役立った場合、以下の引用を使用して引用してください。
@misc{lu2024enhancing,
title={Enhancing Taiwanese Hokkien Dual Translation by Exploring and Standardizing of Four Writing Systems},
author={Bo-Han Lu and Yi-Hsuan Lin and En-Shiun Annie Lee and Richard Tzong-Han Tsai},
year={2024},
eprint={2403.12024},
archivePrefix={arXiv},
primaryClass={cs.CL}
}