项目介绍:ALMA-13B-R
ALMA-13B-R是一个在机器翻译领域中先进的模型,基于ALMA模型进行进一步的开发和优化。它采用了一种全新的微调方法——对比偏好优化(Contrastive Preference Optimization, 简称CPO),这与之前使用的监督微调有所不同。CPO通过使用我们提供的三联偏好数据来实现偏好学习,从而提升了模型的性能。
ALMA模型的基础
ALMA模型是一个大型语言模型,用于机器翻译。最初的版本已经展现了出色的翻译能力。在ALMA-13B-R项目中,这一基础模型得以扩展和增强。
什么是ALMA-13B-R?
ALMA-13B-R是ALMA系列模型中的最新版本,是在ALMA-13B-LoRA基础上进一步微调得到的。与之前的版本相比,ALMA-13B-R结合了对比偏好优化技术,使其性能能够匹敌甚至超越当前领先的模型如GPT-4和WMT获奖者。
模型及数据集的获取
官方已在Huggingface平台上发布了相关模型及数据集,供研究人员和开发者使用。
- 模型下载链接:
- ALMA-13B-R模型可通过haoranxu/ALMA-13B-R下载。
- 数据集下载链接:
- 人工撰写的双语平行数据集用于ALMA的训练与验证:train and validation。
- 三联偏好数据用于ALMA-R的偏好学习:train。
快速开始指南
对于想要尝试ALMA-13B-R进行机器翻译的用户,可以通过以下代码示例来快速启动一个翻译任务。该示例将中文句子“我爱机器翻译。”翻译为英文:
import torch
from transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
# 加载基础模型及LoRA权重
model = AutoModelForCausalLM.from_pretrained("haoranxu/ALMA-13B-R", torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("haoranxu/ALMA-13B-R", padding_side='left')
# 将待翻译的句子加入到提示模板中
prompt="Translate this from Chinese to English:\nChinese: 我爱机器翻译。\nEnglish:"
input_ids = tokenizer(prompt, return_tensors="pt", padding=True, max_length=40, truncation=True).input_ids.cuda()
# 执行翻译
with torch.no_grad():
generated_ids = model.generate(input_ids=input_ids, num_beams=5, max_new_tokens=20, do_sample=True, temperature=0.6, top_p=0.9)
outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print(outputs)
更多信息
如需获取更多技术细节和使用说明,请访问我们的GitHub仓库。在这里,用户可以探索更多关于模型的应用示例,以及获取有关模型架构和优化策略的详细文档。
通过使用ALMA-13B-R,用户可以更轻松地实现高质量的机器翻译任务,享受到前沿技术带来的便利与效率提升。