- บทเรียน เว็บไซต์ | เอกสาร - บริจาค | - Huggingface |
กรุณาช่วยโครงการชุมชนของเรา เป็นดาราบน GitHub!
ข่าวที่น่าตื่นเต้น (มกราคม, 2024): ค้นพบสิ่งใหม่ใน Beechbrain 1.0 ที่นี่!
Speechbrain เป็นชุดเครื่องมือ Pytorch โอเพนซอร์ซ ที่เร่งการพัฒนา AI การสนทนา เช่นเทคโนโลยีที่อยู่เบื้องหลัง ผู้ช่วยพูด , แชทบอท และ แบบจำลองภาษาขนาดใหญ่
มันถูกสร้างขึ้นมาเพื่อการสร้างเทคโนโลยีขั้นสูงที่รวดเร็วและง่ายดายสำหรับการประมวลผล คำพูด และ ข้อความ
ด้วยการเพิ่มขึ้นของการเรียนรู้อย่างลึกซึ้งโดเมนที่ห่างไกลเช่นการประมวลผลคำพูดและ NLP อยู่ใกล้มาก เครือข่ายประสาทที่ออกแบบมาอย่างดีและชุดข้อมูลขนาดใหญ่เป็นสิ่งที่คุณต้องการ
เราคิดว่าตอนนี้ถึงเวลาแล้วสำหรับ ชุดเครื่องมือแบบองค์รวม ที่เลียนแบบสมองมนุษย์ร่วมกันสนับสนุนเทคโนโลยีที่หลากหลายสำหรับระบบ AI การสนทนาที่ซับซ้อน
การรู้จำเสียงพูด การรับรู้ของผู้พูด การเพิ่มประสิทธิภาพการพูด การแยกคำพูด การสร้างแบบจำลองภาษา การสนทนา และอื่น ๆ
สอดคล้องกับเป้าหมายระยะยาวของเราในการสนทนากับมนุษย์ตามธรรมชาติรวมถึงบุคคลที่ไม่ใช่คำพูดเราเพิ่งเพิ่มการสนับสนุนสำหรับ EEG Modality
เราแบ่งปันสูตรการฝึกอบรมการแข่งขันมากกว่า 200 สูตรในชุดข้อมูลมากกว่า 40 ชุดที่สนับสนุนงานการพูดและการประมวลผลข้อความ 20 ชุด (ดูด้านล่าง)
เราสนับสนุนทั้งการฝึกอบรมตั้งแต่ต้นและแบบจำลองการปรับแต่งอย่างละเอียดเช่น Whisper, WAV2VEC2, WAVLM, Hubert, GPT2, Llama2 และอื่น ๆ รุ่นบน HuggingFace สามารถเสียบได้ง่ายและปรับแต่งได้อย่างง่ายดาย
สำหรับงานใด ๆ คุณฝึกอบรมแบบจำลองโดยใช้คำสั่งเหล่านี้:
python train . py hparams / train . yamlHyperparameters ถูกห่อหุ้มในไฟล์ YAML ในขณะที่กระบวนการฝึกอบรมได้รับการจัดเตรียมผ่านสคริปต์ Python
เรารักษาโครงสร้างรหัสที่สอดคล้องกันในงานที่แตกต่างกัน
เพื่อความสามารถในการจำลองแบบที่ดีขึ้นบันทึกการฝึกอบรมและจุดตรวจสอบจะถูกโฮสต์บน Dropbox
from speechbrain . inference import EncoderDecoderASR
asr_model = EncoderDecoderASR . from_hparams ( source = "speechbrain/asr-conformer-transformerlm-librispeech" , savedir = "pretrained_models/asr-transformer-transformerlm-librispeech" )
asr_model . transcribe_file ( "speechbrain/asr-conformer-transformerlm-librispeech/example.wav" )การเร่งความเร็วการวิจัย : เร่งการวิจัยทางวิชาการและอุตสาหกรรม คุณสามารถพัฒนาและรวมโมเดลใหม่ได้อย่างง่ายดายเปรียบเทียบประสิทธิภาพของพวกเขากับเส้นเขตแดนของเรา
⚡ การสร้างต้นแบบอย่างรวดเร็ว : เหมาะสำหรับการสร้างต้นแบบอย่างรวดเร็วในโครงการที่มีความอ่อนไหวต่อเวลา
- เครื่องมือการศึกษา : ความเรียบง่ายของ Speechbrain ทำให้เป็นทรัพยากรทางการศึกษาที่มีค่า มันถูกใช้โดยสถาบันเช่น MILA, มหาวิทยาลัยคอนคอร์เดีย, มหาวิทยาลัยอาวิญงและอื่น ๆ อีกมากมายสำหรับการฝึกอบรมนักศึกษา
ในการเริ่มต้นด้วยคำพูดให้ทำตามขั้นตอนง่ายๆเหล่านี้:
ติดตั้ง beechbrain โดยใช้ PYPI:
pip install speechbrainเข้าถึงคำพูดในรหัส Python ของคุณ:
import speechbrain as sbการติดตั้งนี้แนะนำสำหรับผู้ใช้ที่ต้องการทำการทดลองและปรับแต่งชุดเครื่องมือตามความต้องการของพวกเขา
โคลนพื้นที่เก็บข้อมูล GitHub และติดตั้งข้อกำหนด:
git clone https://github.com/speechbrain/speechbrain.git
cd speechbrain
pip install -r requirements.txt
pip install --editable .เข้าถึงคำพูดในรหัส Python ของคุณ:
import speechbrain as sb การดัดแปลงใด ๆ ที่ทำกับแพ็คเกจ speechbrain จะสะท้อนให้เห็นโดยอัตโนมัติด้วยธง --editable ได้
ตรวจสอบให้แน่ใจว่าการติดตั้งของคุณถูกต้องโดยเรียกใช้คำสั่งต่อไปนี้:
pytest tests
pytest --doctest-modules speechbrainใน Beechbrain คุณสามารถฝึกอบรมแบบจำลองสำหรับงานใด ๆ โดยใช้ขั้นตอนต่อไปนี้:
cd recipes / < dataset > / < task > /
python experiment . py params . yaml ผลลัพธ์จะถูกบันทึกไว้ใน output_folder ที่ระบุในไฟล์ YAML
เว็บไซต์: สำรวจข้อมูลทั่วไปในเว็บไซต์อย่างเป็นทางการ
บทเรียน: เริ่มต้นด้วยบทเรียนพื้นฐานที่ครอบคลุมฟังก์ชันพื้นฐาน ค้นหาบทช่วยสอนขั้นสูงและหัวข้อในหมวดหมู่สมุดบันทึกการสอนในเอกสารคำพูด
เอกสาร: ข้อมูลรายละเอียดเกี่ยวกับ API คำพูดแนวทางการบริจาคและรหัสมีอยู่ในเอกสาร
| งาน | ชุดข้อมูล | เทคโนโลยี/รุ่น |
|---|---|---|
| การรู้จำเสียงพูด | aishell-1, Commonvoice, dvoice, ksponspeech, librispeech, สื่อ, rescuespeech, สวิตช์บอร์ด, Timit, Tedlium2, VoiceBank | CTC, ทรานสดิวเซอร์, หม้อแปลง, SEQ2SEQ, เทคนิคการค้นหา beamsearch สำหรับ CTC, SEQ2SEQ, ทรานสดิวเซอร์), การช่วยเหลือ, conformer, BranchFormer, HyperConformer, Kaldi2-FST |
| การจดจำลำโพง | voxceleb | ecapa-tdnn, resnet, xvectors, plda, คะแนนปกติ |
| การแยกคำพูด | wsj0mix, librimix, wham!, whamr!, aishell1mix, binauralwsj0mix | Sepformer, Resepformer, Skim, Dualpath RNN, Convtasnet |
| การเพิ่มประสิทธิภาพการพูด | DNS, VoiceBank | Sepformer, Metricgan, Metricgan-U, Segan, การปิดบังสเปกตรัม, การปิดบังเวลา |
| การตีความได้ | ESC50 | การฟังที่สามารถฟังได้สำหรับตัวแยกประเภทเสียง (L-MAC), การเรียนรู้การตีความ (L2I), การแยกตัวประกอบเมทริกซ์ที่ไม่ใช่เชิงลบ (NMF), PIQ |
| การสร้างคำพูด | นักได้ยิน | การแพร่กระจายแฝง |
| ข้อความเป็นคำพูด | ljspeech, libritts | tacotron2, zero-shot multi-speaker tacotron2, fastspeech2 |
| การร้อง | ljspeech, libritts | Hifigan, diffwave |
| ความเข้าใจภาษาพูด | สื่อ, slurp, คำสั่งการพูดที่คล่องแคล่ว, ตัวจับเวลาและเช่น | Direct Slu, Decoupled SLU, Multistage SLU |
| การแปลคำพูดเป็นคำพูด | CVSS | Hubert, Hifigan, WAV2VEC2 |
| การแปลคำพูด | Fisher Callhome (สเปน), IWSLT22 (Lowresource) | WAV2VEC2 |
| การจำแนกอารมณ์ | iemocap, zaionemotiondataset | ECAPA-TDNN, WAV2VEC2, Emotion Diarization |
| การระบุภาษา | voxlingua107, Commonlanguage | ecapa-tdnn |
| การตรวจจับกิจกรรมเสียง | Libriparty | crdnn |
| การจำแนกเสียง | ESC50, urbansound | CNN14, ECAPA-TDNN |
| การเรียนรู้ด้วยตนเอง | Commonvoice, Librispeech | WAV2VEC2 |
| การเรียนรู้เมตริก | Real-M, VoiceBank | การประเมิน SNR แบบตาบอดการเรียนรู้ PESQ |
| การจัดตำแหน่ง | เวลา | CTC, Viterbi ไปข้างหน้า |
| การทำให้ดีขึ้น | Ami | ECAPA-TDNN, X-Vectors, การจัดกลุ่มสเปกตรัม |
| งาน | ชุดข้อมูล | เทคโนโลยี/รุ่น |
|---|---|---|
| การสร้างแบบจำลองภาษา | Commonvoice, Librispeech | n-grams, rnnlm, transformerlm |
| การสร้างการตอบสนอง | มัลติโวซ | gpt2, llama2 |
| กราฟ | librispeech | RNN, หม้อแปลง, การเรียนรู้หลักสูตร, การสูญเสีย homograph |
| งาน | ชุดข้อมูล | เทคโนโลยี/รุ่น |
|---|---|---|
| ภาพมอเตอร์ | BNCI2014001, BNCI2014004, BNCI2015001, Lee2019_MI, Zhou201 | EEGNET, ตื้นเขิน, eegConformer |
| P300 | BNCI2014009, EPFLP300, BI2015A, | eegnet |
| SSVEP | Lee2019_SSVEP | eegnet |
Beechbrain รวมถึงฟังก์ชันการทำงานดั้งเดิมที่เพิ่มการพัฒนาเทคโนโลยี AI สนทนา นี่คือตัวอย่างบางส่วน:
การฝึกอบรมออร์เคสตร้า: ระดับ Brain ทำหน้าที่เป็นเครื่องมือที่ปรับแต่งได้อย่างสมบูรณ์สำหรับการจัดการการฝึกอบรมและการประเมินลูปมากกว่าข้อมูล มันทำให้ลูปการฝึกอบรมง่ายขึ้นในขณะที่ให้ความยืดหยุ่นในการแทนที่ส่วนใดส่วนหนึ่งของกระบวนการ
การจัดการ HyperParameter: ไฟล์ HyperParameter ที่ใช้ YAML ระบุ hyperparameters ทั้งหมดจากแต่ละหมายเลข (เช่นอัตราการเรียนรู้) ไปยังวัตถุที่สมบูรณ์ (เช่นโมเดลที่กำหนดเอง) โซลูชันที่สง่างามนี้ทำให้สคริปต์การฝึกอบรมง่ายขึ้นอย่างมาก
Dynamic Dataloader: เปิดใช้งานการอ่านข้อมูลที่ยืดหยุ่นและมีประสิทธิภาพ
การฝึกอบรม GPU: สนับสนุนการฝึกอบรมแบบเดี่ยวและหลาย GPU รวมถึงการฝึกอบรมแบบกระจาย
การแบทช์แบบไดนามิก: การแบทช์แบบไดนามิกแบบออนเดอะ-ฟี่ช่วยเพิ่มการประมวลผลที่มีประสิทธิภาพของสัญญาณความยาวตัวแปร
การฝึกอบรมแบบผสมผสาน: เร่งการฝึกอบรมผ่านเทคนิคการผสมผสานแบบผสม
การอ่านข้อมูลที่มีประสิทธิภาพ: อ่านชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพจากระบบไฟล์เครือข่ายที่ใช้ร่วมกัน (NFS) ผ่าน WebDataset
Hugging Face Integration: อินเทอร์เฟซอย่างราบรื่นกับ HuggingFace สำหรับรุ่นยอดนิยมเช่น WAV2VEC2 และ Hubert
Orion Integration: อินเทอร์เฟซกับ Orion สำหรับการปรับจูนไฮเปอร์พารามิเตอร์
เทคนิคการเพิ่มคำพูด: รวมถึงสเปค, เสียง, เสียงก้องและอื่น ๆ
สคริปต์การเตรียมข้อมูล: รวมสคริปต์สำหรับการเตรียมข้อมูลสำหรับชุดข้อมูลที่รองรับ
Speechbrain กำลังพัฒนาอย่างรวดเร็วด้วยความพยายามอย่างต่อเนื่องเพื่อสนับสนุนเทคโนโลยีที่เพิ่มขึ้นในอนาคต
Beechbrain ผสมผสานเทคโนโลยีที่หลากหลายรวมถึงเทคโนโลยีที่ประสบความสำเร็จในการแข่งขันหรือการแสดงที่ล้ำสมัย
สำหรับภาพรวมที่ครอบคลุมของประสิทธิภาพที่ได้รับจากงานชุดข้อมูลและเทคโนโลยีที่แตกต่างกันกรุณาเยี่ยมชมที่นี่
เรามีแผนการที่ทะเยอทะยานสำหรับอนาคตโดยมุ่งเน้นไปที่ลำดับความสำคัญต่อไปนี้:
Scale Up: เรามุ่งมั่นที่จะจัดหาสูตรและเทคโนโลยีที่ครอบคลุมสำหรับการฝึกอบรมแบบจำลองขนาดใหญ่ในชุดข้อมูลที่กว้างขวาง
Scale Down: ในขณะที่การปรับขนาดให้ประสิทธิภาพที่ไม่เคยเกิดขึ้นมาก่อนเราตระหนักถึงความท้าทายของการปรับใช้โมเดลขนาดใหญ่ในสถานการณ์การผลิต เรามุ่งเน้นไปที่ AI การสนทนาแบบเรียลไทม์สตรีมและการสนทนาขนาดเล็ก
แบบจำลองภาษาขนาดใหญ่หลายรูปแบบ : เราจินตนาการถึงอนาคตที่โมเดลรากฐานเดียวสามารถจัดการกับข้อความการพูดและเสียงที่หลากหลาย ทีมหลักของเรามุ่งเน้นไปที่การเปิดใช้งานการฝึกอบรม LLMs หลายรูปแบบขั้นสูง
หากคุณใช้คำพูดในการวิจัยหรือธุรกิจของคุณโปรดอ้างอิงโดยใช้รายการ bibtex ต่อไปนี้:
@misc { speechbrainV1 ,
title = { Open-Source Conversational AI with {SpeechBrain} 1.0 } ,
author = { Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Gaelle Laperriere and Mickael Rouvier and Renato De Mori and Yannick Esteve } ,
year = { 2024 } ,
eprint = { 2407.00463 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.LG } ,
url = { https://arxiv.org/abs/2407.00463 } ,
}
@misc { speechbrain ,
title = { {SpeechBrain}: A General-Purpose Speech Toolkit } ,
author = { Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio } ,
year = { 2021 } ,
eprint = { 2106.04624 } ,
archivePrefix = { arXiv } ,
primaryClass = { eess.AS } ,
note = { arXiv:2106.04624 }
}