Fairseq(-py)는 연구원과 개발자가 번역, 요약, 언어 모델링 및 기타 텍스트 생성 작업을 위한 사용자 정의 모델을 교육할 수 있는 시퀀스 모델링 툴킷입니다.
우리는 다양한 시퀀스 모델링 논문의 참조 구현을 제공합니다.
CNN(컨벌루션 신경망)
Gated Convolutional Networks를 사용한 언어 모델링(Dauphin et al., 2017)
컨볼루셔널 시퀀스에서 시퀀스 학습으로(Gehring et al., 2017)
시퀀스 대 시퀀스 학습에 대한 고전적 구조적 예측 손실(Edunov et al., 2018)
계층적 신경 스토리 생성(Fan et al., 2018)
wav2vec: 음성 인식을 위한 비지도 사전 훈련(Schneider et al., 2019)
LightConv 및 DynamicConv 모델
경량 및 동적 컨볼루션으로 주의를 덜 기울이십시오(Wu et al., 2019)
장단기 기억(LSTM) 네트워크
주의 기반 신경 기계 번역에 대한 효과적인 접근 방식(Luong et al., 2015)
Transformer(자체 주의) 네트워크
주의가 필요한 전부입니다(Vaswani 외, 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)
Facebook FAIR의 WMT19 뉴스 번역 작업 제출(Ng 외, 2019)
Transformer 모델을 정렬하고 변환하는 공동 학습(Garg et al., 2019)
신경 기계 번역을 위한 다국어 잡음 제거 사전 훈련(Liu et at., 2020)
바이트 수준 하위 단어를 사용한 신경 기계 번역(Wang et al., 2020)
신경 기계 번역을 위한 비지도 품질 추정(Fomicheva et al., 2020)
wav2vec 2.0: 음성 표현의 자기 지도 학습을 위한 프레임워크(Baevski et al., 2020)
시퀀스-투-시퀀스 모델을 사용하여 환자-의사 대화에서 의료 보고서 생성(Enarvi et al., 2020)
Linformer: 선형 복잡성을 지닌 Self-Attention(Wang 외, 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)
간단하고 효과적인 제로샷 교차 언어 음소 인식(Xu et al., 2021)
VideoCLIP: 제로샷 비디오 텍스트 이해를 위한 대조 사전 훈련(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)
마스크 예측: 조건부 마스크 언어 모델의 병렬 디코딩(Ghazvininejad et al., 2019)
Levenshtein Transformer(Gu 외, 2019)
미세 조정
표현 붕괴를 줄여 더 나은 미세 조정(Aghajanyan et al. 2020)
2023년 5월 음성 기술을 1,000개 이상의 언어로 확장하기 위한 모델 출시(Pratap 외, 2023)
2022년 6월 Towards End-to-end Unsupervised Speech Recognition(Liu 외, 2022)에서 wav2vec-U 2.0용 코드 출시
2022년 5월 xFormers와 통합
2021년 12월 직접 음성 대 음성 번역 코드 출시
2021년 10월 VideoCLIP 및 VLM 모델 출시
2021년 10월 다국어 미세 조정 XLSR-53 모델 출시
2021년 9월 master
브랜치 이름이 main
으로 변경되었습니다.
2021년 7월 DrNMT 코드 출시
2021년 7월 강력한 wav2vec 2.0 모델 출시
2021년 6월 XLMR-XL 및 XLMR-XXL 모델 출시
2021년 5월 비지도 음성인식 코드 출시
2021년 3월 전체 매개변수 및 최적화 프로그램 상태 샤딩 + CPU 오프로딩 추가됨
2021년 2월 LASER 훈련 코드 추가
2020년 12월: Adaptive Attention Span 코드 추가됨
2020년 12월: GottBERT 모델 및 코드 출시
2020년 11월: Hydra 구성 프레임워크 채택
신규 및 기존 프로젝트에 사용하는 방법을 설명하는 문서를 참조하세요.
2020년 11월: fairseq 0.10.0 출시
2020년 10월: R3F/R4F(Better Fine-Tuning) 코드 추가
2020년 10월: Latent Depth 코드가 포함된 Deep Transformer 출시
2020년 10월: CRISS 모델 및 코드 추가
2020년 9월: Linformer 코드 추가
2020년 9월: 포인터 생성기 네트워크 추가됨
2020년 8월: 어휘 제한 디코딩 추가됨
2020년 8월: wav2vec2 모델 및 코드 출시
2020년 7월: 비지도 품질 추정 코드 출시
2020년 5월: Twitter에서 fairseq 팔로우
2020년 4월: Monotonic Multihead Attention 코드 출시
2020년 4월: Quant-Noise 코드 출시
2020년 4월: 초기 모델 병렬 지원 및 11B 매개변수 단방향 LM 출시
2020년 3월: 바이트 수준 BPE 코드 출시
2020년 2월: mBART 모델 및 코드 출시
2020년 2월: 역번역 튜토리얼 추가됨
2019년 12월: fairseq 0.9.0 출시
2019년 11월: VizSeq 출시(fairseq 모델 평가를 위한 시각적 분석 도구 키트)
2019년 11월: CamemBERT 모델 및 코드 출시
2019년 11월: BART 모델 및 코드 출시
2019년 11월: XLM-R 모델 및 코드 출시
2019년 9월: 비자동회귀 번역 코드 출시
2019년 8월: WMT'19 모델 출시
2019년 7월: MIT 라이선스에 따라 Fairseq 라이선스가 다시 부여되었습니다.
2019년 7월: RoBERTa 모델 및 코드 출시
2019년 6월: wav2vec 모델 및 코드 출시
하나의 머신 또는 여러 머신에 걸친 다중 GPU 교육(데이터 및 모델 병렬)
여러 검색 알고리즘이 구현되어 CPU와 GPU 모두에서 빠른 생성:
빔 검색
다양한 빔 검색(Vijayakumar et al., 2016)
샘플링(제약 없음, top-k 및 top-p/핵)
어휘적으로 제한된 디코딩(Post & Vilar, 2018)
그래디언트 누적을 통해 단일 GPU에서도 대규모 미니 배치로 훈련할 수 있습니다.
혼합 정밀 훈련(NVIDIA 텐서 코어에서 더 적은 GPU 메모리로 더 빠르게 훈련)
확장 가능: 새로운 모델, 기준, 작업, 최적화 도구 및 학습률 스케줄러를 쉽게 등록
코드, 명령줄 및 파일 기반 구성의 조합을 허용하는 Hydra 기반의 유연한 구성
전체 매개변수 및 최적화 프로그램 상태 샤딩
매개변수를 CPU로 오프로드
또한 편리한 torch.hub
인터페이스를 통해 번역 및 언어 모델링을 위한 사전 훈련된 모델을 제공합니다.
en2de = torch.hub.load('pytorch/fairseq', 'transformer.wmt19.en-de.single_model')en2de.translate('Hello world', beam=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의 apex 라이브러리를 설치하십시오:
자식 클론 https://github.com/NVIDIA/apexcd 정점 pip install -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를 사용하는 경우 nvidia-docker run
에 대한 명령줄 옵션으로 --ipc=host
또는 --shm-size
사용하여 공유 메모리 크기를 늘려야 합니다.
전체 문서에는 시작하기, 새 모델 교육, 새 모델 유형 및 작업으로 fairseq 확장에 대한 지침이 포함되어 있습니다.
우리는 아래 나열된 여러 작업에 대해 사전 훈련된 모델과 사전 처리된 이진화된 테스트 세트는 물론 예제 훈련 및 평가 명령을 제공합니다.
번역: 합성곱 모델과 변환기 모델을 사용할 수 있습니다.
언어 모델링: 컨벌루션 및 변환기 모델을 사용할 수 있습니다.
또한 특정 논문의 결과를 재현할 수 있는 보다 자세한 README도 있습니다.
XLS-R: 대규모 자기 감독 교차 언어 음성 표현 학습(Babu et al., 2021)
반복적인 자기 지도 훈련을 위한 교차 언어 검색(Tran et al., 2020)
wav2vec 2.0: 음성 표현의 자기 지도 학습을 위한 프레임워크(Baevski et al., 2020)
신경 기계 번역을 위한 비지도 품질 추정(Fomicheva et al., 2020)
극단적인 모델 압축을 위한 양자화 잡음을 사용한 훈련({Fan*, Stock*} 외, 2020)
바이트 수준 하위 단어를 사용한 신경 기계 번역(Wang et al., 2020)
신경 기계 번역을 위한 다국어 잡음 제거 사전 훈련(Liu et at., 2020)
구조화된 드롭아웃을 통해 필요에 따라 변압기 깊이 줄이기(Fan et al., 2019)
Transformer 모델을 정렬하고 변환하는 공동 학습(Garg et al., 2019)
Levenshtein Transformer(Gu 외, 2019)
Facebook FAIR의 WMT19 뉴스 번역 작업 제출(Ng 외, 2019)
RoBERTa: 강력하게 최적화된 BERT 사전 학습 접근법(Liu et al., 2019)
wav2vec: 음성 인식을 위한 비지도 사전 훈련(Schneider et al., 2019)
다양한 기계 번역을 위한 혼합 모델: 거래 요령(Shen et al., 2019)
경량 및 동적 컨볼루션으로 주의를 덜 기울이십시오(Wu et al., 2019)
대규모 역번역 이해(Edunov et al., 2018)
시퀀스 대 시퀀스 학습에 대한 고전적 구조적 예측 손실(Edunov et al., 2018)
계층적 신경 스토리 생성(Fan et al., 2018)
신경 기계 번역 확장(Ott et al., 2018)
컨볼루셔널 시퀀스에서 시퀀스 학습으로(Gehring et al., 2017)
Gated Convolutional Networks를 사용한 언어 모델링(Dauphin et al., 2017)
트위터: https://twitter.com/fairseq
페이스북 페이지: https://www.facebook.com/groups/fairseq.users
구글 그룹: https://groups.google.com/forum/#!forum/fairseq-users
fairseq(-py)는 MIT 라이센스를 받았습니다. 라이선스는 사전 훈련된 모델에도 적용됩니다.
다음과 같이 인용해 주세요.
@inproceedings{ott2019fairseq, 제목 = {fairseq: 시퀀스 모델링을 위한 빠르고 확장 가능한 도구 키트}, 저자 = {Myle Ott 및 Sergey Edunov 및 Alexei Baevski 및 Angela Fan 및 Sam Gross 및 Nathan Ng 및 David Grangier 및 Michael Auli}, 책제목 = {NAACL-HLT 2019 간행물: 데모}, 연도 = {2019}, }