Fairseq(-py) คือชุดเครื่องมือการสร้างแบบจำลองลำดับที่ช่วยให้นักวิจัยและนักพัฒนาสามารถฝึกอบรมโมเดลที่กำหนดเองสำหรับการแปล การสรุป การสร้างโมเดลภาษา และงานการสร้างข้อความอื่นๆ
เราจัดให้มีการใช้งานอ้างอิงของเอกสารการสร้างแบบจำลองลำดับต่างๆ:
เครือข่ายประสาทเทียม (CNN)
การสร้างแบบจำลองภาษาด้วย Gated Convolutional Networks (Dauphin et al., 2017)
ลำดับแบบ Convolutional สู่การเรียนรู้ตามลำดับ (Gehring et al., 2017)
การสูญเสียการทำนายโครงสร้างแบบคลาสสิกสำหรับการเรียนรู้ตามลำดับ (Edunov et al., 2018)
การสร้างเรื่องราวประสาทตามลำดับชั้น (Fan et al., 2018)
wav2vec: การฝึกอบรมล่วงหน้าสำหรับการรู้จำเสียงโดยไม่มีผู้ดูแล (Schneider et al., 2019)
รุ่น LightConv และ DynamicConv
ให้ความสนใจน้อยลงด้วย Convolutions น้ำหนักเบาและไดนามิก (Wu et al., 2019)
เครือข่ายหน่วยความจำระยะสั้นระยะยาว (LSTM)
แนวทางที่มีประสิทธิภาพในการแปลเครื่องประสาทตามความสนใจ (Luong et al., 2015)
เครือข่ายหม้อแปลงไฟฟ้า (การเอาใจใส่ตนเอง)
ความสนใจคือสิ่งที่คุณต้องการ (Vaswani et al., 2017)
การปรับขนาดการแปลด้วยเครื่องประสาท (Ott et al., 2018)
การทำความเข้าใจการแปลกลับตามขนาด (Edunov et al., 2018)
การแสดงอินพุตแบบปรับได้สำหรับการสร้างแบบจำลองภาษาประสาท (Baevski และ Auli, 2018)
การถอดรหัสแบบจำกัดคำศัพท์ด้วยการจัดสรรลำแสงแบบไดนามิก (Post & Vilar, 2018)
Transformer-XL: โมเดลภาษาที่เอาใจใส่นอกเหนือจากบริบทที่มีความยาวคงที่ (Dai et al., 2019)
ช่วงความสนใจแบบปรับได้ใน Transformers (Sukhbaatar et al., 2019)
แบบจำลองส่วนผสมสำหรับการแปลด้วยเครื่องที่หลากหลาย: เคล็ดลับของการค้า (Shen et al., 2019)
RoBERTa: แนวทางการฝึกอบรมล่วงหน้าของ BERT ที่ได้รับการปรับปรุงอย่างแข็งแกร่ง (Liu et al., 2019)
การส่งงานแปลข่าว WMT19 ของ Facebook FAIR (Ng et al., 2019)
ร่วมกันเรียนรู้การจัดตำแหน่งและแปลด้วย Transformer Models (Garg et al., 2019)
การฝึกอบรมล่วงหน้า Denoising หลายภาษาสำหรับการแปลด้วยเครื่องประสาท (Liu et at., 2020)
การแปลด้วยเครื่องประสาทด้วยคำย่อยระดับไบต์ (Wang et al., 2020)
การประมาณคุณภาพโดยไม่ได้รับการดูแลสำหรับการแปลด้วยเครื่องประสาท (Fomicheva et al., 2020)
wav2vec 2.0: กรอบการทำงานสำหรับการเรียนรู้การแสดงคำพูดด้วยตนเอง (Baevski et al., 2020)
การสร้างรายงานทางการแพทย์จากการสนทนาระหว่างแพทย์กับผู้ป่วยโดยใช้แบบจำลองตามลำดับต่อลำดับ (Enarvi et al., 2020)
Linformer: การเอาใจใส่ตนเองด้วยความซับซ้อนเชิงเส้น (Wang et al., 2020)
การดึงข้อมูลข้ามภาษาสำหรับการฝึกอบรมแบบทำซ้ำด้วยตนเอง (Tran et al., 2020)
หม้อแปลงไฟฟ้าลึกพร้อมความลึกแฝง (Li et al., 2020)
การเรียนรู้การเป็นตัวแทนข้ามภาษาแบบไม่มีผู้ดูแลเพื่อการรู้จำเสียง (Conneau et al., 2020)
การฝึกอบรมตนเองและการฝึกอบรมล่วงหน้าเป็นส่วนเสริมสำหรับการรู้จำเสียง (Xu et al., 2020)
wav2vec 2.0 ที่แข็งแกร่ง: การวิเคราะห์การเปลี่ยนแปลงโดเมนในการฝึกอบรมล่วงหน้าแบบมีผู้ดูแลด้วยตนเอง (Hsu, et al., 2021)
การรู้จำเสียงแบบไม่มีผู้ดูแล (Baevski, et al., 2021)
การรู้จำหน่วยเสียงข้ามภาษาแบบ Zero-shot ที่เรียบง่ายและมีประสิทธิภาพ (Xu et al., 2021)
VideoCLIP: การฝึกอบรมล่วงหน้าที่ตรงกันข้ามสำหรับการทำความเข้าใจข้อความวิดีโอแบบ Zero-shot (Xu et. al., 2021)
VLM: โมเดลภาษาวิดีโอที่ไม่เชื่อเรื่องงานและการฝึกอบรมล่วงหน้าเพื่อความเข้าใจเกี่ยวกับวิดีโอ (Xu et. al., 2021)
NormFormer: ปรับปรุงการเตรียมหม้อแปลงด้วยการปรับมาตรฐานพิเศษ (Shleifer et. al, 2021)
หม้อแปลงไฟฟ้าแบบไม่ถอยอัตโนมัติ
การแปลด้วยเครื่องประสาทแบบไม่อัตโนมัติ (Gu et al., 2017)
การสร้างแบบจำลองลำดับประสาทที่ไม่ถอยหลังอัตโนมัติที่กำหนดโดยการปรับแต่งซ้ำ (Lee et al. 2018)
หม้อแปลงแทรก: การสร้างลำดับที่ยืดหยุ่นผ่านการดำเนินการแทรก (Stern et al. 2019)
Mask-Predict: การถอดรหัสแบบขนานของโมเดลภาษามาสก์แบบมีเงื่อนไข (Ghazvininejad et al., 2019)
Levenshtein Transformer (Gu et al., 2019)
การปรับแต่งอย่างละเอียด
การปรับแต่งที่ดีขึ้นโดยลดการล่มสลายของตัวแทน (Aghajanyan และคณะ 2020)
พฤษภาคม 2023 เปิดตัวโมเดลสำหรับ Scaling Speech Technology เป็น 1,000+ ภาษา (Pratap, et al., 2023)
มิถุนายน 2022 เผยแพร่โค้ดสำหรับ wav2vec-U 2.0 จาก Towards End-to-end Unsupervised Speech Recognition (Liu, et al., 2022)
พฤษภาคม 2022 บูรณาการกับ xFormers
ธันวาคม 2021 เปิดตัวโค้ดการแปลคำพูดเป็นคำพูดโดยตรง
ตุลาคม 2021 เปิดตัวรุ่น VideoCLIP และ VLM
ตุลาคม 2021 เปิดตัวรุ่น XLSR-53 ที่ปรับแต่งหลายภาษา
กันยายน 2021 สาขา master
เปลี่ยนชื่อเป็น main
.
กรกฎาคม 2021 เผยแพร่รหัส DrNMT
กรกฎาคม 2021 เปิดตัวรุ่น wav2vec 2.0 ที่แข็งแกร่ง
มิถุนายน 2564 เปิดตัวรุ่น XLMR-XL และ XLMR-XXL
พฤษภาคม 2021 เปิดตัวรหัสการรู้จำเสียงแบบไม่มีผู้ดูแล
มีนาคม 2021 เพิ่มการแบ่งส่วนสถานะพารามิเตอร์และเครื่องมือเพิ่มประสิทธิภาพแบบเต็ม + การถ่าย CPU
กุมภาพันธ์ 2021 เพิ่มรหัสการฝึกอบรม LASER
ธันวาคม 2020: เพิ่มโค้ด Adaptive Attention Span
ธันวาคม 2020: เปิดตัวโมเดลและโค้ด GottBERT
พฤศจิกายน 2020: นำเฟรมเวิร์กการกำหนดค่า Hydra มาใช้
ดูเอกสารอธิบายวิธีใช้สำหรับโปรเจ็กต์ใหม่และโปรเจ็กต์ที่มีอยู่
พฤศจิกายน 2020: เปิดตัว fairseq 0.10.0
ตุลาคม 2020: เพิ่มโค้ด R3F/R4F (การปรับแต่งที่ดีกว่า)
ตุลาคม 2020: เปิดตัวโค้ด Deep Transformer พร้อมโค้ดความลึกแฝง
ตุลาคม 2020: เพิ่มโมเดลและรหัส CRISS
กันยายน 2020: เพิ่มโค้ด Linformer
กันยายน 2020: เพิ่มเครือข่ายตัวสร้างพอยน์เตอร์
สิงหาคม 2020: เพิ่มการถอดรหัสแบบจำกัดคำศัพท์
สิงหาคม 2020: เปิดตัวโมเดล wav2vec2 และโค้ด
กรกฎาคม 2020: เปิดตัวรหัสการประเมินคุณภาพแบบไม่มีผู้ดูแล
พฤษภาคม 2020: ติดตาม fairseq บน Twitter
เมษายน 2020: เปิดตัวโค้ด Monotonic Multihead Attention
เมษายน 2020: เปิดตัวรหัส Quant-Noise
เมษายน 2020: รุ่นเริ่มต้นรองรับแบบขนานและพารามิเตอร์ 11B LM ทิศทางเดียวที่ออก
มีนาคม 2020: เปิดตัวรหัส BPE ระดับไบต์
กุมภาพันธ์ 2020: เปิดตัวโมเดลและโค้ด mBART
กุมภาพันธ์ 2020: เพิ่มบทช่วยสอนสำหรับการแปลย้อนหลัง
ธันวาคม 2019: เปิดตัว fairseq 0.9.0
พฤศจิกายน 2019: VizSeq เปิดตัว (ชุดเครื่องมือวิเคราะห์ภาพสำหรับการประเมินโมเดล fairseq)
พฤศจิกายน 2019: เปิดตัวโมเดลและโค้ด CamemBERT
พฤศจิกายน 2019: เปิดตัวโมเดลและโค้ด BART
พฤศจิกายน 2019: เปิดตัวรุ่น XLM-R และโค้ด
กันยายน 2019: มีการเผยแพร่โค้ดการแปลแบบไม่ถอยอัตโนมัติ
สิงหาคม 2019: รุ่น WMT'19 เปิดตัว
กรกฎาคม 2019: fairseq ได้รับใบอนุญาตใหม่ภายใต้ใบอนุญาต MIT
กรกฎาคม 2019: เปิดตัวโมเดลและโค้ด RoBERTa
มิถุนายน 2019: เปิดตัวโมเดลและโค้ด wav2vec
การฝึกอบรม multi-GPU บนเครื่องเดียวหรือหลายเครื่อง (ข้อมูลและโมเดลขนานกัน)
การสร้างที่รวดเร็วทั้งบน CPU และ GPU พร้อมอัลกอริธึมการค้นหาที่หลากหลาย:
ค้นหาลำแสง
การค้นหาลำแสงที่หลากหลาย (Vijayakumar et al., 2016)
การสุ่มตัวอย่าง (ไม่จำกัด, top-k และ top-p/นิวเคลียส)
การถอดรหัสแบบจำกัดคำศัพท์ (Post & Vilar, 2018)
การสะสมแบบไล่ระดับช่วยให้สามารถฝึกฝนด้วยชุดย่อยขนาดใหญ่ได้แม้บน GPU ตัวเดียว
การฝึกความแม่นยำแบบผสม (ฝึกเร็วขึ้นด้วยหน่วยความจำ GPU น้อยลงบนแกนเทนเซอร์ NVIDIA)
ขยายได้: ลงทะเบียนโมเดล เกณฑ์ งาน เครื่องมือเพิ่มประสิทธิภาพ และตัวกำหนดอัตราการเรียนรู้ใหม่ได้อย่างง่ายดาย
การกำหนดค่าที่ยืดหยุ่นตาม Hydra ช่วยให้สามารถผสมผสานการกำหนดค่าโค้ด บรรทัดคำสั่ง และไฟล์ได้
การแบ่งสถานะพารามิเตอร์และเครื่องมือเพิ่มประสิทธิภาพแบบเต็ม
กำลังถ่ายโอนพารามิเตอร์ไปยัง CPU
นอกจากนี้เรายังมีโมเดลที่ได้รับการฝึกอบรมล่วงหน้าสำหรับการแปลและการสร้างแบบจำลองภาษาด้วยอินเทอร์เฟซ torch.hub
ที่สะดวกสบาย:
en2de = torch.hub.load('pytorch/fairseq', 'transformer.wmt19.en-de.single_model')en2de.translate('สวัสดีชาวโลก', ลำแสง=5)# 'Hallo Welt'
ดูบทช่วยสอน PyTorch Hub สำหรับการแปลและ RoBERTa สำหรับตัวอย่างเพิ่มเติม
เวอร์ชัน PyTorch >= 1.10.0
เวอร์ชันไพธอน >= 3.8
สำหรับการฝึกฝนโมเดลใหม่ คุณจะต้องมี NVIDIA GPU และ NCCL ด้วย
วิธีติดตั้ง fairseq และพัฒนาในเครื่อง:
โคลนคอมไพล์ https://github.com/pytorch/fairseqcd fairseq pip install --editable ./# บน MacOS:# CFLAGS="-stdlib=libc++" pip install --editable ./# เพื่อติดตั้งรีลีสเสถียรล่าสุด (0.10.x)# pip install fairseq
เพื่อการฝึกอบรมที่รวดเร็วยิ่งขึ้น ให้ติดตั้งไลบรารี่เอเพ็กซ์ของ NVIDIA:
git clone https://github.com/NVIDIA/apexcd เอเพ็กซ์ pip ติดตั้ง -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" --global-option="--deprecated_fused_adam" --global-option="--xentropy" --global-option="--fast_multihead_attn" ./
สำหรับชุดข้อมูลขนาดใหญ่ ให้ติดตั้ง PyArrow: pip install pyarrow
หากคุณใช้ Docker ตรวจสอบให้แน่ใจว่าได้เพิ่มขนาดหน่วยความจำที่ใช้ร่วมกันด้วย --ipc=host
หรือ --shm-size
เป็นตัวเลือกบรรทัดคำสั่งเพื่อ nvidia-docker run
เอกสารฉบับเต็มประกอบด้วยคำแนะนำในการเริ่มต้น การฝึกโมเดลใหม่และการขยายงานแฟร์ด้วยประเภทโมเดลและงานใหม่
เราจัดเตรียมแบบจำลองที่ได้รับการฝึกอบรมล่วงหน้าและชุดการทดสอบแบบไบนารี่ที่ประมวลผลล่วงหน้าสำหรับงานต่างๆ ที่ระบุไว้ด้านล่าง รวมถึงตัวอย่างคำสั่งการฝึกอบรมและการประเมินผล
การแปล: มีรุ่น Convolutional และ Transformer
การสร้างแบบจำลองภาษา: มีรุ่น Convolutional และ Transformer
นอกจากนี้เรายังมี README ที่มีรายละเอียดเพิ่มเติมเพื่อสร้างผลลัพธ์จากเอกสารเฉพาะ:
XLS-R: การเรียนรู้การแสดงคำพูดข้ามภาษาแบบควบคุมตนเองในวงกว้าง (Babu et al., 2021)
การดึงข้อมูลข้ามภาษาสำหรับการฝึกอบรมแบบทำซ้ำด้วยตนเอง (Tran et al., 2020)
wav2vec 2.0: กรอบการทำงานสำหรับการเรียนรู้การแสดงคำพูดด้วยตนเอง (Baevski et al., 2020)
การประมาณคุณภาพโดยไม่ได้รับการดูแลสำหรับการแปลด้วยเครื่องประสาท (Fomicheva et al., 2020)
การฝึกอบรมเกี่ยวกับ Quantization Noise สำหรับการบีบอัดโมเดลระดับสูงสุด ({Fan*, Stock*} et al., 2020)
การแปลด้วยเครื่องประสาทด้วยคำย่อยระดับไบต์ (Wang et al., 2020)
การฝึกอบรมล่วงหน้า Denoising หลายภาษาสำหรับการแปลด้วยเครื่องประสาท (Liu et at., 2020)
การลดความลึกของหม้อแปลงตามความต้องการด้วยการวางโครงสร้าง (Fan et al., 2019)
ร่วมกันเรียนรู้การจัดตำแหน่งและแปลด้วย Transformer Models (Garg et al., 2019)
Levenshtein Transformer (Gu et al., 2019)
การส่งงานแปลข่าว WMT19 ของ Facebook FAIR (Ng et al., 2019)
RoBERTa: แนวทางการฝึกอบรมล่วงหน้าของ BERT ที่ได้รับการปรับปรุงอย่างแข็งแกร่ง (Liu et al., 2019)
wav2vec: การฝึกอบรมล่วงหน้าสำหรับการรู้จำเสียงโดยไม่มีผู้ดูแล (Schneider et al., 2019)
แบบจำลองส่วนผสมสำหรับการแปลด้วยเครื่องที่หลากหลาย: เคล็ดลับของการค้า (Shen et al., 2019)
ให้ความสนใจน้อยลงด้วย Convolutions น้ำหนักเบาและไดนามิก (Wu et al., 2019)
การทำความเข้าใจการแปลกลับตามขนาด (Edunov et al., 2018)
การสูญเสียการทำนายโครงสร้างแบบคลาสสิกสำหรับการเรียนรู้ตามลำดับ (Edunov et al., 2018)
การสร้างเรื่องราวประสาทตามลำดับชั้น (Fan et al., 2018)
การปรับขนาดการแปลด้วยเครื่องประสาท (Ott et al., 2018)
ลำดับแบบ Convolutional สู่การเรียนรู้ตามลำดับ (Gehring et al., 2017)
การสร้างแบบจำลองภาษาด้วย Gated Convolutional Networks (Dauphin et al., 2017)
ทวิตเตอร์: https://twitter.com/fairseq
หน้า Facebook: https://www.facebook.com/groups/fairseq.users
กลุ่ม Google: https://groups.google.com/forum/#!forum/fairseq-users
fairseq(-py) ได้รับอนุญาตจาก MIT ใบอนุญาตนี้ใช้กับโมเดลที่ได้รับการฝึกอบรมล่วงหน้าด้วยเช่นกัน
กรุณาอ้างอิงเป็น:
@inproceedings{ott2019fairseq, title = {fairseq: A Fast, Extensible Toolkit for Sequence Modeling}, ผู้แต่ง = {Myle Ott และ Sergey Edunov และ Alexei Baevski และ Angela Fan และ Sam Gross และ Nathan Ng และ David Grangier และ Michael Auli}, booktitle = {การดำเนินการของ NAACL-HLT 2019: การสาธิต}, ปี = {2019} -