Este repositorio es la implementación oficial de Pytorch del siguiente documento:
Yaoyiran Li, Anna Korhonen e Ivan Vulić. 2024. S ELF- Una ganancia de contexto I utgmented I para la traducción de palabras no supervisada . En Actas de la 62ª Reunión Anual de la Asociación de Lingüística Computacional (ACL 2024). [Papel]
Sail tiene como objetivo mejorar la traducción de palabras no supervisada / inducción de léxico bilingüe (BLI) (1) inferir un diccionario de traducción de palabras de alta confianza con indicación de disparo cero, (2) luego refinando opcionalmente el diccionario de alta confianza iterativamente con pocas disparos en el lugar de las pocas disparos en el que Los ejemplos en contexto provienen del diccionario de alta confianza en la iteración anterior, y (3) finalmente realizando evaluación en el conjunto de pruebas BLI con pocos disparos que también derivan muestras en contexto del último diccionario de alta confianza. Todo el proceso no aprovecha los pares de traducción de palabras de verdad en tierra para el entrenamiento/aprendizaje de pocos disparos y mejora los puntajes BLI por típicamente 10 ~ 15 puntos de precisión@1 en nuestros puntos de referencia BLI en comparación con la solicitud de disparo cero.
Siguiendo nuestro trabajo anterior ContrastiveBli, Blicer y Pront4Bli, nuestros datos se obtienen del XLIN (8 idiomas, 56 direcciones BLI en total) y Panlex-Bli (15 idiomas de recursos más bajos, 210 direcciones BLI en total).
Obtenga datos de XLIN:
sh get_xling_data.sh
Para Panlex-Bli, consulte ./get_panlex_data, donde proporcionamos el código para derivar las incrustaciones de palabras monolingües.
Prepare el vocabulario BLI:
python run_extract_vocabularies.py
Ejecute BLI Evaluation con Sail (Definir hiper-parametros, directorios y pares de idiomas para evaluar manualmente en run_bli.py):
python run_bli.py
(Opcional) Ejecute la línea de base de solicitación cero-shot introducida en Pront4Bli con modelos LLAMA:
python run_zero_shot.py
(Opcional) Ejecute la línea de base de solicitación de disparo cero introducido en Pront4Bli con modelos ChatGPT:
python run_zero_shot_chatgpt.py
Experimentos principales (vela):
Nuestros principales experimentos incluyen cuatro modelos de llama previos a la aparición sin ajuste de instrucciones.
LLM | (Cara abrazada) ID del modelo |
---|---|
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" |
ACTUALIZACIÓN: LLAMA3-8B meta-llama/Meta-Llama-3-8B
también es compatible con nuestro repositorio de código ahora.
Experimentos adicionales de ChatGPT (solo solicitante de disparo cero, correspondiente a la sección 4.2 de nuestro documento):
Dado que es probable que el ajuste de instrucciones de los modelos ChatGPT cubra datos paralelos a gran escala para la traducción automática, no son adecuados para BLI no supervisado (además, el RLHF también puede incluir señales de supervisión de traducción a nivel de palabra/oración de anotadores/usuarios ). Reportamos los resultados de ChatGPT derivados con un disparo cero solo como referencia.
LLM | (API de OpenAI) ID del modelo |
---|---|
GPT-3.5 | "GPT-3.5-TURBO-0125" |
GPT-4 | "GPT-4-TURBO-2024-04-09" |
También liberamos los diccionarios autoadeños derivados con Llama2-13b como se discutió en la Sección 4.2 de nuestro artículo en ./augmenteddicts-llama2-13b. Estos diccionarios de alta confianza se infieren con N IT = 1, N F = 5000, y con la traducción posterior.
Por favor cita nuestro artículo si encuentra útil Sail-Bli .
@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 }
}