🚀 🦙📝 LLAMA-VaaniSetu-EN2PA:利用大语言模型实现英语到旁遮普语的翻译
本项目 LLAMA-VaaniSetu-EN2PA 是一款专为英语到旁遮普语翻译而设计的模型。它基于大语言模型技术,对 LLaMA 3.1 8B 架构模型进行了微调训练,致力于填补开源英语到旁遮普语翻译模型的空白,可广泛应用于司法文件、政府命令、法院判决等各类文件的翻译,为旁遮普语使用者提供便利。
🚀 快速开始
本模型 LLAMA-VaaniSetu-EN2PA 是 LLaMA 3.1 8B 架构模型的微调版本,专门用于 英语到旁遮普语的翻译。该模型使用了 印度平行语料库集合(BPCC) 进行训练,其中包含约 1000 万对英语<>旁遮普语句子对。这个语料库由 AI4Bharat 提供。
该模型旨在填补 开源英语到旁遮普语翻译模型 的空白,可用于翻译司法文件、政府命令、法院判决等各类文件,以满足旁遮普语使用者的需求。
✨ 主要特性
- 针对性强:专门针对英语到旁遮普语的翻译任务进行微调,能更好地处理该特定领域的翻译需求。
- 数据丰富:使用包含约 1000 万对英语<>旁遮普语句子对的 BPCC 语料库进行训练,为模型提供了丰富的语言知识。
- 应用广泛:可应用于司法、政府等多个领域的文件翻译,具有较高的实用价值。
📦 安装指南
环境要求
- Python 3.8.10 或更高版本
- 需要安装的 Python 包:
transformers
torch
huggingface_hub
安装命令
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)
📚 详细文档
模型和数据信息
属性 |
详情 |
模型类型 |
基于 LLaMA 3.1 8B 架构,采用 BF16 精度 |
训练数据 |
来自 AI4Bharat 的印度平行语料库集合(BPCC) 的 1000 万对英语<>旁遮普语平行句子 |
评估数据 |
该模型在 IN22 - Conv 数据集 的 1503 个样本 上进行了评估,该数据集也可通过 IndicTrans2 获取 |
评估指标(chrF++) |
在 IN22 - Conv 数据集上达到了 28.1 的 chrF++ 分数,对于开源模型来说是一个不错的成绩 |
GPU 推理要求
要使用此模型进行推理,需要满足以下 最低 GPU 要求:
- 内存要求:在 BF16(BFloat16)精度 下进行推理时,需要 16 - 18 GB 的 VRAM。
- 推荐 GPU:
- NVIDIA A100(20GB):非常适合 BF16 精度,能够高效处理像 LLaMA 8B 这样的大型模型。
- 其他至少具有 16 GB VRAM 的 GPU 也可以使用,但性能可能会因内存可用性而有所不同。
注意事项
⚠️ 重要提示
翻译函数仅用于处理 英语到旁遮普语 的翻译。你可以将其用于各种应用场景,例如将司法文件、政府命令等各类文件翻译成旁遮普语。
💡 使用建议
由于这是 LLAMA-VaaniSetu-EN2PA 模型的首次发布,仍有改进空间,特别是在提高 chrF++ 分数方面。未来版本的模型将专注于优化性能、提升翻译质量,并拓展到更多领域。请关注后续更新,并欢迎在 Hugging Face 或相关仓库中贡献代码或提出问题!
资源链接
🔧 技术细节
本模型基于 LLaMA 3.1 8B 架构进行微调,使用 BPCC 语料库进行训练,在 IN22 - Conv 数据集上进行评估。通过不断调整模型参数和训练策略,以提高模型的翻译性能和准确性。未来将继续优化模型结构和训练方法,进一步提升 chrF++ 分数和翻译质量。
📄 许可证
该模型遵循 LLaMA 架构以及微调过程中使用的任何数据集的适用许可条款。
贡献者
- Rohit Anurag - 永久块公司(PerpetualBlock - A Partex Company)首席软件工程师
致谢
感谢 AI4Bharat 提供的训练和评估数据。