探索多语言LLM与Aya Expanse

2025年01月15日 由 佚名 发表 214 0

Exploring Multilingual LLMs with Aya Expanse作者提供的图片 | Ideogram.ai

 

大型语言模型(LLM)已成为改变我们工作方式的不可或缺的工具。许多公司和个人已经开始依赖它们,这一点已被证明。社区也很活跃,开发了许多开源方法。

当前开源实现的一个挑战是缺乏能够与单语言模型竞争的高性能多语言模型。这就是为什么CohereAI的一个专门团队试图开发能够在多种语言中表现良好的模型,称为Aya Expanse。

本文将探讨CohereAI的Aya Expanse以及如何在您的工作中应用它。

 

Aya Expanse简介

 
如上所述,Aya Expanse系列是由CohereAI开发的多语言模型C4AI。这是多年来研究的结晶,旨在生产一个能够在23种不同语言中表现良好的模型,并能与许多当前的SOTA模型竞争。

目前发布的模型是Aya Expanse8B和32B参数模型。两种模型都显示出卓越的多语言性能,尽管32B参数提供了SOTA的能力。

Cohere团队还发布了Aya Expanse训练数据集,称为Aya集合及其关键评估集(多语言性能和安全性)供社区使用。这些数据集可以作为您训练多语言模型的参考。

让我们看看Aya Expanse在市场上与其他模型的表现。Aya Expanse在m-ArenaHard评估集中具有更好的胜率指标,如下图所示。

 


Exploring Multilingual LLMs with Aya Expanse Aya Expanse 32B胜率 | CohereAI

 

我们可以看到,Aya Expanse 32B在23种语言中总体上具有更好的胜率,优于SOTA模型,如Gemma 2 27B、Mistral 8x22B和Llama 3.1 70B。这表明Aya Expanse可以成为解决任何涉及多语言问题的业务案例的LLM。

这就是对Aya Expanse的简单介绍。接下来,让我们尝试Aya Expanse模型,了解它们为何在解决多语言用例方面表现出色。

 

尝试Aya Expanse

 
我们将尝试Aya Expanse提供的HuggingFace空间和通过HuggingFace Transformers的模型。

如果您只想测试模型而不需要Python代码实现,我们可以访问Aya Expanse HuggingFace空间。这是一个基于UI的空间,我们可以与模型聊天、对话或可视化。

例如,我们可以在下图中探索各种语言的聊天功能。

 
Exploring Multilingual LLMs with Aya Expanse
 

您还可以通过传递语音输入与Aya对话,并从模型中获取结果。

 
Exploring Multilingual LLMs with Aya Expanse
 

最后,您可以在HuggingFace空间内生成图像。

 
Exploring Multilingual LLMs with Aya Expanse
 

我们为每个尝试的功能使用三种不同的语言。这显示了Aya Expanse模型在理解其他语言时的强大能力,而无需特定的再训练。

让我们尝试使用HuggingFace的Python实现Aya Expanse。

我们将使用标准的HuggingFace Transformers库进行教程,并从HuggingFace访问模型。为此,您可以安装以下库。

pip install transformers huggingface_hub

 

我们将使用Aya Expanse 8B进行教程,以测试多语言能力。由于模型是受限的,您必须请求访问并拥有HuggingFace API密钥才能下载模型。在我们继续教程之前,请确保这两件事。

接下来,登录HuggingFace中心以访问Aya Expanse模型。

from huggingface_hub import loginlogin('hf_api_key')

 

登录平台后,下载Aya Expanse模型和分词器。

from transformers import AutoTokenizer, AutoModelForCausalLMmodel_id = "CohereForAI/aya-expanse-8b"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained(model_id)

 

让我们尝试几个实验来测试Aya Expanse的多语言能力。首先,我们将开发一个函数,以便快速生成文本。

def generate_text(messages):  input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")  gen_tokens = model.generate(      input_ids,      max_new_tokens=100,      do_sample=True,      temperature=0.3,  )  gen_text = tokenizer.decode(gen_tokens[0])  print(gen_text)


使用上述函数,我会尝试让Aya Expanse模型用土耳其语进行创意写作。

#Creative Writing
messages = [{"role": "user", "content": "Bir yaz gecesi yıldızlar altında geçen bir aşk hikayesi yaz"}]
generate_text(messages)


输出:

Gecenin serin havası, yazın sıcaklığını yumuşatırken, gökyüzü sayısız yıldızla parlıyordu. Bu büyüleyici manzaraya tanık olan genç çift, Elif ve Can, bir yaz gecesinin büyüsüne kapılmışlardı.
Elif, uzun, dalgalı saçları gece rüzgarıyla dans ederken, gözleri yıldızları izliyordu. Yüzündeki masum gülümseme, onun
 
The model could understand our prompt well and create output as we expect. Let’s try out another example for translation from Italian to English.
#Translation
messages = [{"role": "user", "content": "Traduisez cette phrase en anglais: 'Non tutte le ciambelle riescono col buco'"}]
generate_text(messages)


输出:

La traduction de la phrase italienne « Non tutte le ciambelle riescono col buco » en anglais est : « Not all donuts have a hole. »

 

模型能够很好地翻译文本并理解翻译语言的语法。

让我们看看如果助手角色使用的语言与用户角色不同会发生什么。

messages = [    {"role": "user", "content": "Weather in Jakarta is raining. How about in Paris?"},    {"role": "assistant", "content": "Di Paris, cuaca saat ini cukup sejuk dan menyenangkan. Suhu biasanya berkisar antara 20-25 derajat Celcius."},]generate_text(messages)

 

输出:

Karena Anda bertanya tentang cuaca di Paris, dan informasi terakhir saya adalah hingga tahun 2023, saya tidak memiliki akses ke data cuaca real-time. Namun, secara umum, cuaca di Paris pada musim ini (apabila Anda merujuk pada musim gugur atau awal musim dingin) cenderung bervariasi.
Pada bulan-bulan seperti September, Oktober, dan November, Paris dapat mengalami cuaca yang berubah-ubah. Ini bisa mencakup hari-hari yang cerah dan hangat


我们可以看到助手角色导致响应切换语言,即使用户输入的提示是不同的语言。

最后,让我们尝试一下如果一个提示中存在多种语言,模型会如何表现。

messages = [{"role": "user", "content": "¿Cómo se dice 'I love learning languages' en español y cuál es el mejor método para aprenderlos?"}]generate_text(messages)

 

输出:

La frase 'I love learning languages' se traduce al español como 'Me encanta aprender idiomas'.
En cuanto al mejor método para aprender idiomas, no existe una respuesta única ya que la efectividad puede variar según las preferencias y el estilo de aprendizaje de cada persona. Sin embargo, aquí hay algunos enfoques y técnicas ampliamente recomendados que pueden facilitar el proceso de aprendizaje:
1. **Establecer objetivos claros:** Define tus metas de aprendizaje. ¿Quieres alcanzar fluidez,


即使文本中存在多种语言,模型也能很好地理解我们的意图。

这就是我们对Aya Expanse的全部探索。您可以在任何多语言用例中尝试使用它们。

 

结论

 
Aya Expanse是由CohereAI开发的多语言模型,能够在23种语言中表现良好,并能与许多当前的SOTA模型竞争。本文探讨了如何通过各种示例使用Aya Expanse。

希望这对您有所帮助!
 
 

    文章来源:https://www.kdnuggets.com/exploring-multilingual-llms-aya-expanse
    欢迎关注ATYUN官方公众号
    商务合作及内容投稿请联系邮箱:bd@atyun.com
    评论 登录
    热门职位
    Maluuba
    20000~40000/月
    Cisco
    25000~30000/月 深圳市
    PilotAILabs
    30000~60000/年 深圳市
    写评论取消
    回复取消