该存储库是以下论文的官方Pytorch实施:
Yaoyiran Li,Anna Korhonen和IvanVulić。 2023年。关于双语词典感应,具有大型语言模型。在2023年关于自然语言处理经验方法会议的会议录中(EMNLP 2023)。 [纸] [OpenReview]
Press4Bli旨在通过自回归大型语言模型(LLM)(LLM)解决双语词典归纳(BLI) /单词翻译任务。我们首次证明,促使BLI的多语言LLM均优于传统的BLI方法,这些方法依赖于计算跨语性单词嵌入(CLWES)。虽然我们表明提示现成的LLM可以在许多BLI语言对(我们的主要实验设置)上建立新的最先进的BLI性能,但提示4BLI储备还为BLI-Iniendienciped微型调整提供了代码,可以进一步改善结果(作为辅助实验,在较小规模的LLMS上证明了辅助实验)。
传统方法依赖于学习参数化的Clwe映射或跨语性单词对评分功能,通常在三个设置中处理BLI:(1)受监督的5k种子翻译对; (2)半监督,1k种子翻译对; (3)无监督,0个种子翻译对。 (参见我们以前的作品对比和玻璃杯)。与传统方法不同,提示4BLI仅利用现成的LLM,不需要LLM微调或更新任何可学习的参数。我们的工作考虑以下提示设置:
(注意:要调查无监督的BLI,我们建议使用预识别的LLM而不是指令调整。
更新:请参阅我们的后续工作帆(ACL 2024),在此过程中,我们进一步改善了无监督的BLI,通过(1)推断出一个高信心单词翻译词典,零射击提示, (2)(2)可选地,然后选择较高的效率迭代,并在较少的示例中进行了较少的示例,从而在较高的范围内进行了高度测试,并最终是遍地性的,并且最终是遍地及其及以前的效果。设置有很少的发动机提示,还从最新的高信心词典中得出了文本样本。整个过程不利用任何地面真实的单词翻译对进行训练/几次学习,并将BLI分数提高至通常为10〜15 p@1分,而不是零射击提示。
| LLM | (拥抱面)模型ID |
|---|---|
| mt5-small | “ Google/mt5-small” |
| mt5基 | “ Google/MT5基本” |
| MT5大 | “ Google/mt5-large” |
| MT5-XL | “ Google/MT5-XL” |
| mt5-xxl | “ Google/MT5-XXL” |
| mt0-small | “ BigScience/MT0-Mall” |
| mt0基 | “ Bigscience/MT0-Base” |
| MT0大 | “ Bigscience/MT0-LARGE” |
| mt0-xl | “ BigScience/MT0-XL” |
| mt0-xxl | “ BigScience/MT0-XXL” |
| XGLM-564M | “ Facebook/XGLM-564M” |
| XGLM-1.7B | “ Facebook/XGLM-1.7B” |
| XGLM-2.9B | “ Facebook/XGLM-2.9B” |
| XGLM-4.5B | “ Facebook/XGLM-4.5B” |
| XGLM-7.5B | “ Facebook/XGLM-7.5B” |
| mgpt | “ sberbank-ai/mgpt” |
| Llama-7b | “ Huggyllama/Llama-7b” |
| Llama-13b | “ Huggyllama/Llama-13b” |
| Llama2-7b | “ Meta-llama/Llama-2-7b-hf” |
| Llama2-13b | “ Meta-llama/Llama-2-13b-hf” |
| Llama3-8b | “ meta-llama/meta-llama-3-8b” |
上述LLM在我们的研究中采用的大多数LLM是验证的LLM,而不是指导调整的LLM(如我们论文所报道的最佳BLI分数的LLAMA模型也是预审前的版本)。除原始论文中采用的LLM外,我们还将Llama2-7B,Llama2-13b和Llama3-8B整合到当前代码库中(它们都是预验证的版本,而不是指导性的版本)。研究了Llama2-7b和Llama2-13b模型,并在我们的后续工作帆中报告了结果(ACL 2024)。 SAIL还使用GPT-3.5和GPT-4(指令调整)进行零射击。请参阅帆以获取细节。
在对比度和玻璃体之后,我们的数据是从Xling(总共8种语言,56个BLI方向)和Panlex-Bli(15种低资源语言,总计210个BLI方向)获得的。
获取Xling数据:
sh get_xling_data.sh对于Panlex-Bli,请参阅./get_panlex_data,我们提供用于得出单语单词嵌入的代码。
准备BLI数据并提取在上下文中的示例,以进行几次弹药提示(Xling):
python run_extract_vocabularies.py
python run_extract_bli_data.py准备BLI数据并提取在上下文中的示例,以进行几次发动机提示(Panlex-Bli):
python run_extract_vocabularies_panlex.py
python run_extract_bli_data_panlex.py(可选)运行面向BLI的LLM微调(定义LLM DIR,学习率,批处理大小和Run_training.py中的随机种子):
python run_prepare_training_data.py
python run_training.py运行BLI评估(定义种子字典大小,N_Shot,LLM DIR和语言对,以在run_bli.py中手动评估):
python run_bli.py如果您觉得提前4bli有用,请引用我们的论文。
@inproceedings { li-etal-2023-bilingual ,
title = { On Bilingual Lexicon Induction with Large Language Models } ,
author = { Li, Yaoyiran and Korhonen, Anna and Vuli{'c}, Ivan } ,
booktitle = { Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing } ,
year = { 2023 }
}后续工作(帆中可用代码):
@inproceedings { li-etal-2024-self-augmented ,
title = { Self-Augmented In-Context Learning for Unsupervised Word Translation } ,
author = { Li, Yaoyiran and Korhonen, Anna and Vuli{'c}, Ivan } ,
booktitle = { Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics } ,
year = { 2024 }
}