🚀 🦙📝 LLAMA-VaaniSetu-EN2PA: 大規模言語モデルによる英語からパンジャビ語への翻訳
このモデル「LLAMA-VaaniSetu-EN2PA」は、LLaMA 3.1 8Bアーキテクチャモデルをファインチューニングしたもので、英語からパンジャビ語への翻訳を専門に行うように設計されています。このモデルは、約1000万の英語<>パンジャビ語のペアを含むBharat Parallel Corpus Collection (BPCC) を使用してトレーニングされています。BPCCはAI4Bharatによって公開されています。
このモデルの目的は、オープンソースの英語からパンジャビ語への翻訳モデルの不足を解消し、司法文書、政府命令、裁判判決などの文書をパンジャビ語圏の人々に対応するための翻訳に応用することです。
🚀 クイックスタート
このモデルを使用するには、まず必要な依存関係をインストールする必要があります。その後、提供されたコード例を使って英語からパンジャビ語への翻訳を行うことができます。
✨ 主な機能
- 英語からパンジャビ語への翻訳:専用にファインチューニングされたモデルで、高品質な翻訳を提供します。
- 大規模データセットでのトレーニング:約1000万の英語<>パンジャビ語のペアを含むBPCCを使用してトレーニングされています。
📦 インストール
このモデルを使用するには、以下の依存関係をインストールする必要があります。
pip install torch transformers huggingface_hub
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
def load_model():
tokenizer = AutoTokenizer.from_pretrained("partex-nv/Llama-3.1-8B-VaaniSetu-EN2PA")
model = AutoModelForCausalLM.from_pretrained(
"partex-nv/Llama-3.1-8B-VaaniSetu-EN2PA",
torch_dtype=torch.bfloat16,
device_map="auto",
)
return model, tokenizer
model, tokenizer = load_model()
def translate_to_punjabi(english_text):
translate_prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
{}
### Input:
{}
### Response:
{}"""
formatted_input = translate_prompt.format(
"You are given the english text, read it and understand it. After reading translate the english text to Punjabi and provide the output strictly",
english_text,
""
)
inputs = tokenizer([formatted_input], return_tensors="pt").to("cuda")
output_ids = model.generate(**inputs, max_new_tokens=500)
translated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
fulloutput = translated_text.split("Response:")[-1].strip()
if not fulloutput:
fulloutput = ""
return fulloutput
english_text = """
Delhi is a beautiful place
"""
punjabi_translation = translate_to_punjabi(english_text)
print(punjabi_translation)
📚 ドキュメント
モデルとデータの情報
推論のためのGPU要件
このモデルで推論を行うには、以下の最低限のGPU要件が必要です。
- メモリ要件:BF16 (BFloat16) 精度での推論には16 - 18GBのVRAMが必要です。
- 推奨GPU:
- NVIDIA A100 (20GB):BF16精度に最適で、LLaMA 8Bのような大規模モデルを効率的に処理できます。
- 少なくとも16GBのVRAMを持つ他のGPUも動作する可能性がありますが、メモリの可用性に応じてパフォーマンスが異なります。
注意事項
- 翻訳関数は英語からパンジャビ語への翻訳を処理するように設計されています。司法文書、政府命令などの様々な文書の翻訳に使用できます。
パフォーマンスと今後の予定
このLLAMA-VaaniSetu-EN2PAモデルは初回リリースであり、特にchrF++スコアの向上に改善の余地があります。将来のバージョンでは、パフォーマンスの最適化、翻訳品質の向上、および追加のドメインへの拡張に焦点を当てます。
更新にご期待ください。Hugging Faceや関連するリポジトリでの貢献や問題の報告を歓迎します!
リソース
🔧 技術詳細
このモデルはLLaMA 3.1 8Bアーキテクチャをベースに、BF16精度でトレーニングされています。トレーニングにはAI4BharatのBharat Parallel Corpus Collection (BPCC)を使用し、評価にはIN22-Convデータセットを使用しています。
📄 ライセンス
このモデルは、LLaMAアーキテクチャおよびファインチューニング中に使用されたすべてのデータセットに対して適切な条件でライセンスされています。
貢献者
- Rohit Anurag - パーペチュアルブロック(パルテックス社)の主任ソフトウェアエンジニア
謝辞