Este repositório é a implementação oficial do Pytorch do seguinte artigo:
Yaoyiran Li, Anna Korhonen e Ivan Vulić. 2023. Sobre a indução bilíngue de léxico com grandes modelos de idiomas . Em Anais da Conferência de 2023 sobre métodos empíricos no processamento de linguagem natural (EMNLP 2023). [Paper] [OpenReview]
O Prompt4Bli pretende abordar as tarefas bilíngues de indução de léxico (BLI) / tradução de palavras com modelos de idiomas grandes autorregressivos (LLMS) . Demonstramos pela primeira vez que solicitar LLMs multilíngues para o BLI supera as abordagens tradicionais do BLI, que dependem do cálculo de incorporações de palavras cruzadas (CLWEs). Embora mostremos que o LLMS pronta para uso já pode estabelecer um novo desempenho do BLI em muitos pares de idiomas do BLI (nossa principal configuração experimental), o repositório Prompt4Bli também fornece código para o ajuste fino de BLI, que pode melhorar ainda mais os resultados (como um experimento lateral, demonstrado em LLMs de menor escala).
Os métodos tradicionais dependem do aprendizado de mapeamentos CLWE parametrizados ou funções de pontuação de pares de palavras cruzadas e geralmente enfrentam o BLI em três configurações: (1) pares de tradução de sementes de 5k supervisionados ; (2) pares de tradução semi-supervisionados de 1K de sementes; (3) Pares de tradução sem semente não supervisionados . (cf. nosso trabalho anterior Contrastebli e Blicer). Diferente dos métodos tradicionais, o Prompt4Bli apenas utiliza LLMs prontos para uso, não exigindo ajustes finos do LLM nem atualizando parâmetros aprendidos. Nosso trabalho considera as seguintes configurações de solicitação:
(Nota: Para investigar o BLI não supervisionado , recomendamos o uso de LLMs pré-gravados em vez de ajustes de instrução. É porque o procedimento de ajuste de instrução do LLMS geralmente cobre dados paralelos em larga escala para tradução para a máquina. Portanto, o uso de LLMs de instrução, mesmo com modelos de bate-papo, mesmo com os modelos de ChatGPT, que podem ser feitos para o que pode ser aproveitado.
Update : please see our follow-up work SAIL (ACL 2024) where we further improve unsupervised BLI by (1) inferring a high-confidence word translation dictionary with zero-shot prompting, (2) then optionally refining the high-confidence dictionary iteratively with few-shot prompting where the in-context examples are from the high-confidence dictionary in the previous iteration, and (3) finally conducting evaluation No conjunto de testes do BLI, com poucas fotos, também derivando amostras no contexto do mais recente dicionário de alta confiança. Todo o processo não aproveita nenhum par de tradução de palavras de verdade no solo para treinamento/aprendizado de poucos anos e melhora as pontuações do BLI em normalmente 10 ~ 15 p@1 pontos em comparação com o impulsionamento de zero tiro.
| Llm | (Abraçando o rosto) ID do modelo |
|---|---|
| mt5-small | "Google/mt5-small" |
| MT5-BASE | "Google/Mt5-Base" |
| MT5-Large | "Google/Mt5-Large" |
| mt5-xl | "Google/MT5-XL" |
| mt5-xxl | "Google/MT5-XXL" |
| mt0-small | "Bigscience/mt0-small" |
| MT0-BASE | "Bigscience/Mt0-Base" |
| MT0-Large | "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" |
A maioria dos LLMs acima adotados em nossa pesquisa são LLMs pré-tenhados, em vez de ajustes de instrução (os modelos de llama que atingem as melhores pontuações do BLI, conforme relatado em nosso artigo, também são versões pré-treinadas). Além do LLMS adotado em nosso artigo original, integramos adicionalmente o LLAMA2-7B, LLAMA2-13B e LLAMA3-8B no repositório de código atual (são todas versões pré-tenhadas em vez de ajustes de instrução). Os modelos LLAMA2-7B e LLAMA2-13B são investigados e os resultados são relatados em nosso trabalho de acompanhamento (ACL 2024). Sail também realiza zero tiro que provocou com GPT-3.5 e GPT-4 (ajustado para instruções). Por favor, consulte a navegação para obter os detalhes.
Após o contrastebli e o blicer, nossos dados são obtidos das XLing (8 idiomas, 56 direções do BLI no total) e Panlex-bli (15 idiomas de resistência inferior, 210 direções de BLI no total).
Obtenha dados Xling:
sh get_xling_data.shPara Panlex-bli, consulte ./get_panlex_data, onde fornecemos o código para derivar as incorporações monolíngues da palavra.
Prepare dados do BLI e extraia exemplos no contexto para poucas fotos (xling):
python run_extract_vocabularies.py
python run_extract_bli_data.pyPrepare dados do BLI e extraia exemplos no contexto para poucas fotos (Panlex-bli):
python run_extract_vocabularies_panlex.py
python run_extract_bli_data_panlex.py(Opcional) Execute o ajuste fino LLM BLI Orientado (Definir LLM Dirs, Taxa de Aprendizagem, Tamanho do Lotes e Seed Random em Run_training.py):
python run_prepare_training_data.py
python run_training.pyExecute a avaliação do BLI (defina o tamanho do dicionário de sementes, n_shot, llm dir e pares de idiomas para avaliar manualmente em run_bli.py):
python run_bli.pyCite nosso artigo se você achar útil o Prompt4Bli .
@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 }
}Trabalho de acompanhamento (código disponível na vela):
@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 }
}