ที่เก็บนี้เป็นการดำเนินการ Pytorch อย่างเป็นทางการของบทความต่อไปนี้:
Yaoyiran Li, Anna Korhonen และ Ivan Vulić 2023. เกี่ยวกับการเหนี่ยวนำพจนานุกรมสองภาษากับแบบจำลองภาษาขนาดใหญ่ ในการประชุมวิชาการปี 2566 เกี่ยวกับวิธีการเชิงประจักษ์ในการประมวลผลภาษาธรรมชาติ (EMNLP 2023) [กระดาษ] [OpenReview]
Prot มา ด้วย Prompt4Bli มีจุดมุ่งหมายเพื่อจัดการกับงานการแปลพจนานุกรมสองภาษา (BLI) / งานการแปลด้วยคำ ที่มีรูปแบบภาษาขนาดใหญ่อัตโนมัติ (LLMs) เราเป็นครั้งแรกที่แสดงให้เห็นว่าการกระตุ้น LLM หลายภาษาสำหรับ BLI นั้นมีประสิทธิภาพสูงกว่าวิธี BLI แบบดั้งเดิมซึ่งขึ้นอยู่กับการคำนวณการฝังคำข้ามภาษา (Clwes) ในขณะที่เราแสดงให้เห็นว่าการกระตุ้น LLMs นอกชั้นวางสามารถสร้างประสิทธิภาพการทำงานของ BLI ที่ล้ำสมัยในคู่ภาษา BLI จำนวนมาก (การตั้งค่าการทดลองหลักของเรา), Prompt4BLI repo ยังให้รหัสสำหรับการปรับแต่งแบบละเอียดซึ่งสามารถปรับปรุงผลลัพธ์เพิ่มเติมได้ (เป็นการทดลองด้านข้าง
วิธีการดั้งเดิมขึ้นอยู่กับการเรียนรู้การแมป CLWE พารามิเตอร์หรือฟังก์ชั่นการให้คะแนนคู่คำข้ามภาษาและมักจะจัดการกับ BLI ในการตั้งค่าสามครั้ง: (1) ภายใต้การดูแล , คู่แปลเมล็ด 5K; (2) กึ่งผู้ดูแล การแปลเมล็ด 1K (3) ไม่ได้รับการดูแล , 0 คู่แปลเมล็ด (cf. งานก่อนหน้านี้ของเรา contrastivebli และ blicer) แตกต่างจากวิธีการดั้งเดิม Prompt4BLI ใช้ประโยชน์จาก LLM แบบนอกชั้นวางเท่านั้น ไม่ ต้องใช้การปรับแต่ง LLM หรืออัปเดตพารามิเตอร์ที่เรียนรู้ได้ งานของเราพิจารณาการตั้งค่าการแจ้งเตือนต่อไปนี้:
(หมายเหตุ: ในการตรวจสอบ BLI ที่ไม่ได้รับการดูแล เราขอแนะนำให้ใช้ LLM ที่ผ่านการฝึกอบรมมากกว่าที่ได้รับการปรับแต่งเป็นเพราะขั้นตอนของการปรับแต่งการเรียนการสอนของ LLMS มักจะครอบคลุมข้อมูลคู่ขนานขนาดใหญ่สำหรับการแปลของเครื่อง
UPDATE : โปรดดูการติดตามผลงานของเรา (ACL 2024) ซึ่งเราจะปรับปรุง BLI ที่ไม่ได้รับการดูแล โดย (1) การอนุมานพจนานุกรมการแปลคำที่มีความมั่นใจสูงด้วยการกระตุ้นด้วยการช็อตเป็นศูนย์ ( 2) ชุดทดสอบที่มีการแจ้งเตือนไม่กี่นัดยังได้รับตัวอย่างในบริบทจากพจนานุกรมความมั่นใจสูงล่าสุด กระบวนการทั้งหมดไม่ได้ใช้ประโยชน์จากคู่แปลคำจริงสำหรับการฝึกอบรม/การเรียนรู้ไม่กี่ครั้งและปรับปรุงคะแนน BLI โดยทั่วไป 10 ~ 15 p@1 คะแนนเปรียบเทียบกับการกระตุ้นด้วยการยิงแบบศูนย์
| llm | (กอดหน้า) รหัสรุ่น |
|---|---|
| MT5-SMALL | "Google/MT5-Small" |
| ฐาน MT5 | "Google/MT5-base" |
| MT5 ขนาดใหญ่ | "Google/MT5 ขนาดใหญ่" |
| MT5-XL | "Google/MT5-XL" |
| MT5-XXL | "Google/MT5-XXL" |
| MT0-SMALL | "BigScience/MT0-Small" |
| MT0-base | "BigScience/MT0-base" |
| MT0 ขนาดใหญ่ | "BigScience/MT0 ขนาดใหญ่" |
| 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" |
LLMs ส่วนใหญ่ข้างต้นที่นำมาใช้ในการวิจัยของเรานั้นเป็น LLM ที่ได้รับการฝึกฝนมากกว่าที่ได้รับการปรับแต่ง (โมเดล Llama ซึ่งได้รับคะแนน BLI ที่ดีที่สุดตามที่รายงานในบทความของเราก็เป็นเวอร์ชั่นที่ได้รับการปรับแต่งด้วย) นอกเหนือจาก LLMS ที่นำมาใช้ในบทความต้นฉบับของเราแล้วเรายังรวม LLAMA2-7B, LLAMA2-13B และ LLAMA3-8B เข้ากับรหัสปัจจุบัน (พวกเขาทั้งหมดเป็นรุ่นที่ได้รับการปรับแต่งมากกว่าที่จะปรับแต่ง) มีการตรวจสอบโมเดล LLAMA2-7B และ LLAMA2-13B และรายงานผลลัพธ์ในการติดตามผลงานติดตามผลของเรา (ACL 2024) การแล่นเรือยังดำเนินการกระตุ้นด้วยการยิงด้วย GPT-3.5 และ GPT-4 (ปรับแต่ง) โปรดดูที่ Sail สำหรับรายละเอียด
หลังจากความคมชัดและ blicer ข้อมูลของเราได้มาจาก 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(ไม่บังคับ) เรียกใช้การปรับแต่ง LLM ที่มีการปรับแต่ง (กำหนด llm dirs, อัตราการเรียนรู้, ขนาดแบทช์และเมล็ดสุ่มใน 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โปรดอ้างอิงกระดาษของเราหากคุณพบว่า 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 }
}งานติดตามผล (มีรหัสที่ Sail):
@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 }
}