Ce référentiel est la mise en œuvre officielle Pytorch du document suivant:
Yaoyiran Li, Anna Korhonen et Ivan Vullić. 2024 . Dans les actes de la 62e réunion annuelle de l'Association de linguistique informatique (ACL 2024). [Papier]
Sail vise à améliorer la traduction des mots non supervisée / l'induction du lexique bilingue (BLI) par (1) en déduisant un dictionnaire de traduction de mots à haute confiance avec une invitation à zéro, (2) puis affiner éventuellement le dictionnaire de confiance élevée de confiance avec une projection à faible coup lorsque vous Les exemples dans le contexte proviennent du dictionnaire de confiance élevée dans l'itération précédente, et (3) effectuent enfin une évaluation sur l'ensemble de test BLI avec une incitation à quelques coups qui dérive également des échantillons en contexte du dernier dictionnaire de confiance élevée. L'ensemble du processus ne tire pas parti de paires de traduction de mots au sol pour la formation / l'apprentissage à quelques tirs et améliore les scores BLI par une précision de 10 ~ 15 @ 1 sur nos benchmarks BLI par rapport à une incitation zéro-shot.
Après notre travail précédent ContrastiveBli, Blicer et Prompt4bli, nos données sont obtenues à partir des Xling (8 langues, 56 directions Bli au total) et Panlex-Bli (15 langues à ressources inférieures, 210 directions Bli au total).
Obtenez des données Xling:
sh get_xling_data.sh
Pour Panlex-Bli, veuillez voir ./get_panlex_data, où nous fournissons le code pour dériver les incorporations monolingues.
Préparez le vocabulaire Bli:
python run_extract_vocabularies.py
Exécutez l'évaluation BLI avec SAIL (Définissez des hyper-paramètres clés, des répertoires et des paires de langues pour évaluer manuellement dans run_bli.py):
python run_bli.py
(Facultatif) Exécutez zéro-shot invitant la ligne de base introduite dans Prompt4bli avec les modèles LLAMA:
python run_zero_shot.py
(Facultatif) Exécutez zéro-shot invitant la ligne de base introduite dans Prompt4bli avec les modèles ChatGpt:
python run_zero_shot_chatgpt.py
Principales expériences (voile):
Nos principales expériences comprennent quatre modèles de lama pré-entraînés sans réglage de l'instruction.
LLM | (Étreinte face) ID de modèle |
---|---|
Lama-7b | "Huggyllama / lama-7b" |
Lama-13b | "Huggyllama / lama-13b" |
Llama2-7b | "Meta-lama / lama-2-7b-hf" |
Llama2-13b | "Meta-lama / lama-2-13b-hf" |
MISE À JOUR: LLAMA3-8B meta-llama/Meta-Llama-3-8B
est également pris en charge dans notre récompense de code maintenant.
Expériences supplémentaires de ChatGPT (seule invitation à zéro, correspondant à la section 4.2 de notre article):
Étant donné que le réglage de l'instruction des modèles ChatGPT est susceptible de couvrir les données parallèles à grande échelle pour la traduction automatique, ils ne conviennent pas au BLI non supervisé (en outre, le RLHF peut également inclure des signaux de supervision de la traduction au niveau des mots / phrases à partir d'annotateurs / utilisateurs ). Nous rapportons les résultats ChatGPT dérivés avec des tirs zéro en invitant uniquement comme référence.
LLM | (Openai API) ID de modèle |
---|---|
GPT-3.5 | "GPT-3.5-turbo-0125" |
Gpt-4 | "GPT-4-Turbo-2024-04-09" |
Nous libérons également les dictionnaires auto-auvus dérivés avec LLAMA2-13B comme discuté dans la section 4.2 de notre article à ./AUGEDDICTS-LALAMA2-13B. Ces dictionnaires à haute confiance sont déduits avec n it = 1, n f = 5000, et avec une rétro-traduction du mot.
Veuillez citer notre papier si vous trouvez Sail-Bli utile.
@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 }
}