신규 모델 추가
EmbeddingGemma2
EmbeddingGemma 2는 Gemma 4 아키텍처를 기반으로 구축된 Google의 멀티모달 임베딩 모델입니다. 텍스트, 이미지, 오디오, 비디오를 개별적으로 또는 하나의 입력에 결합하여 인코딩하고, 교차 모달 검색, 의미적 유사도, 클러스터링, 분류를 위해 공유된 768차원 벡터 공간에 매핑합니다. Matryoshka Representation Learning을 사용하므로 임베딩을 512, 256, 또는 128차원으로 잘라낼 수 있습니다. 또한 구성 가능한 비전 및 비디오 토큰 예산을 제공하며, 사용하지 않는 비전 또는 오디오 타워는 로드 시점에 비활성화하여 메모리를 절약할 수 있습니다.
링크: 문서 * Smthn smthn (#49364) by @vasqu in #49364
주요 변경 사항(Breaking changes)
라우터가 로짓을 계산하는 모든 MoE 모델은 이제 output_router_logits=True때 로짓을 반환하며, Qwen3-MoE 패턴을 따릅니다 (백본 모델의 router_logits 레코더, MoeModelOutputWithPast 및 헤드에서 출력되는 MoE 인과적 LM 출력). 따라서 이전 출력이나 그 부재에 의존하던 코드는 이러한 출력 클래스에서 라우터 로짓을 읽어야 합니다.
* 🚨 Return router logits from every MoE model that computes them (#48920) by @qgallouedec
Owlv2ForObjectDetection.embed_image_query 이제 원래 OWLv2 노트북과 같이 objectness 점수가 가장 높은 쿼리 박스를 선택하며, OWL-ViT 휴리스틱 대신 사용됩니다. 따라서 이미지 유도 쿼리 임베딩과 탐지 결과가 이전 릴리스와 다를 수 있습니다.
* 🚨 Select the OWLv2 image query by objectness (#49200) by @qgallouedec
SDPA 및 flash attention 구현을 위한 "paged|" 접두사는 더 이상 권장되지 않으므로, 사용자는 연속 배칭(continuous batching)을 위해 sdpa 또는 flash_attention_2) 대신 일반 어텐션 구현을 설정해야 합니다 paged|sdpa 또는 paged|flash_attention_2대신.
* 🚨 Attention 🚨 Deprecate "paged|" prefix for SDPA and flash (#49112) by @remi-or
일반 flash 및 SDPA 어텐션 함수(flash_attention.py, sdpa_attention.py)는 이제 연속 배칭을 직접 지원하며, 이에 대한 "paged|..." 구현은 해당 함수로 리다이렉트되고, eager는 여전히 "paged|eager" 접두사가 필요합니다.
* 🚨 Attention 🚨 Make regular attention support CB (#49101) by @remi-or
연속 배칭에서 인덱스 기반 및 블록 테이블 경로에 대한 캐시 업데이트는 이제 단일 호출로 통합되어, 캐시 업데이트 함수의 동작이 약간 변경되며 별도의 업데이트 경로를 호출하는 사용자 정의 코드에 영향을 미칩니다. * 🚨 [CB] 🚨 Fuse update for index and block table path (#49088) by @remi-or
연속 배칭의 내부 구조는 "paged"를 제거하기 위한 준비로 변경되었습니다: `max
* 🚨 [CB] 🚨 Little fixes before removing "paged" (#49069) by @remi-or
병렬화
전문가 병렬화(expert parallelism)는 토큰 디스패치 구현을 갖추게 되었으며, 새로운 ep_dispatch_experts 플랜 규칙을 통해 선택되고 이제 Qwen3 MoE와 Mellum의 기본값입니다. 이를 통해 EP 크기가 TP 크기와 같아야 한다는 요구 사항이 제거되었습니다. The Trainer 또한 expert parallelism과 함께 작동하도록 적용되었으며, 문서에서는 이제 PEFT 어댑터가 tensor parallelism을 지원한다고 명시합니다. pipeline-parallel chart2table 추론에 대한 CI 관련 수정 사항도 포함되었습니다.
- [
distributed]: Trainer를 Expert Parallel과 함께 작동하도록 조정 (#48873) by @3outeille in [#48873] - [
distributed] expert-parallel token dispatch 추가, Qwen3 MoE의 기본값 (#48865) by @3outeille in [#48865] - pp chart2table 추론 수정 (#49225) by @zucchini-nlp in [#49225]
- [docs] PEFT 어댑터를 위한 TP (#49060) by @stevhliu in [#49060]
Cache
이번 릴리스는 양자화된 캐시 처리를 수정합니다: generate 가 더 이상 사용자의 cache_config을 변경(mutate)하지 않으며, QuantizedLayer.reorder_cache 이 복구되었습니다. 또한 레이어별 캐시 구성이 추가되어, 이제 DynamicCache 와 StaticCache 가 각 레이어를 자체 구성(sliding window, attention chunk size, conv states 및 attention head 개수)으로 초기화하여 이기종(heterogeneous) 모델을 더 잘 지원합니다. 별도로, mask 및 cache에 대한 폐기(deprecation) 주기는
- 양자화된 캐시 수정 (#48700) by @jiqing-feng in [#48700]
- [CI] check_bad_commit: EFS cache를 사용하여 Xet FUSE OOM(exit 137) 방지 (#49273) by @ydshieh in [#49273]
- 레이어별 캐시 구성 지원 (#48178) by @eladsegal in [#48178]
- mask 및 cache에 대한 폐기 주기 제거 (#49231) by @Cyrilvallez in [#49231]
버그 수정 및 개선 사항
- Revert "[CI] Temporarily disable AMD scheduled CI trigger" (#49271) (#49362) by @ydshieh in [#49362]
- ALM 테스트 수정... (#49355) by @zucchini-nlp in [#49355]
- seed=0을 무시하는 DataCollatorForLanguageModeling 수정 (#49349) by @akanyaani in [#49349]
- 평가 모델을 위한 명시적 커널화 모드 수정 (#49339), @DimensionSTP 작성, [#49339]
- fix(cohere_compass): input_modalities에 video 추가 (#49320) (#49323) by @destopianpirate in [#49323]
- GPT-OSS: clamped SwiGLU의 alpha와 limit을 config에서 읽도록 수정 (#49346) by @IlyasMoutawwakil in [#49346]
- [
distributed] 기본 MoEep_plans를 토큰 디스패치로 변경 (#49160) by @3outeille in [#49160] - CI를 Python 3.11로 이동, 버전은
.python-version(#49311)에 설정 by @tarekziade in [#49311] - doc-builder main docs 워크플로우 핀 업데이트 (#49350) by @paulinebm in [#49350]
- [
distributed] tp_plan과 ep_plan 분리 (#48859) by @3outeille in [#48859] - [
distributed] dense 및 expert device mesh 추가 (#48857) by @3outeille in [#48857] - doc-builder 워크플로우 핀 업데이트 (#49342) by @paulinebm in [#49342]
- 새로운 processing backend 등록 허용 (#48984) by @zucchini-nlp in [#48984]
- WatermarkDetector의 반복 n-gram 카운팅 수정 (#49315) by @LE0-Lin in [#49315]
- minicpm 4.6V 비디오 배칭 및 CI 수정 (#49259) by @zucchini-nlp in [#49259]
- DeepseekV4의 lm_head에 대한 colwise_gather_output 제거 (#49314) by @3outeille in [#49314]
- CLIPSegForImageSegmentation의
labelsdocstring 수정 (#49001) by @qgallouedec in [#49001] - [CI] AMD 스케줄된 CI 트리거 임시 비활성화 (#49271) by @ydshieh in [#49271]
- setup.py 의존성에서 사용하지 않는 pandas 항목 제거 (#49329) by @tarekziade in [#49329]
- pandas>=3에서 run_glue.py 라벨 id가 문자열이 되는 문제 수정 (#49326) by @tarekziade in [#49326]
- [Fix] 오래된 테스트 두 개가 담긴 오래된 테스트 파일 제거 (#49280) by @remi-or in [#49280]
- 멀티 축 position id를 사용하는 chunked prefill 수정 (Qwen3-VL) (#49319) by @dacorvo in [#49319]
- 재정의할 대신
Mixin에서 수정하기 (#49105) by @zucchini-nlp in [#49105] - matmul 대신 mul로 RoPE 수행 (#49265) by @Rocketknight1 in [#49265]
- 지원 중단된 파이프라인은 리다이렉트되어야 하고, 제거된 파이프라인은 오류를 발생시켜야 함 (#49308) by @LysandreJik in [#49308]
- 다가오는
torch_tpu백엔드에서 모델 테스트 활성화 (#49207) by @tengomucho in [#49207] - 배치 확장 후 인코더 반복 패널티 소스 행 수정 (#49262) by @gitedmond in [#49262]
- 지수 감쇠 길이 패널티에서 마스크된 EOS 점수 보존 (#49260) by @gitedmond in [#49260]
- [CI] 특정 아티팩트만 필요할 때 모든 아티팩트를 가져오지 않도록 수정 (#49282), 작성자 @ydshieh, [#49282]
- Revert "[CI] ssh-runner: bucket과 EFS 러너 간 전환을 위한 선택적 cache_type 입력 추가 (#49159)" (#49270), 작성자 @ydshieh, [#49270]
- Trainer.loss_is_scaled_for_ga 추가: compute_loss가 이미 gradient accumulation에 대해 스케일링하는지 선언 (#49240), 작성자 @qgallouedec, [#49240]
- precomputed flash kwargs 충돌 수정 (#47928), 작성자 @IlyasMoutawwakil, [#47928]
- modular examples 재적용 (#49230), 작성자 @Cyrilvallez, [#49230]
- 존재하지 않는 일부 항목 제거 (#49232) by @Cyrilvallez in [#49232]
- 로터리(rotaies) 지원 중단 주기 제거 (#49228) by @Cyrilvallez in [#49228]
- [
GTE] 메모리 믹스인 추가 (#49234) by @vasqu in [#49234] - [CB] CB를 더욱 디바이스 중립적으로 만들고 XPU 지원 추가 (#49156) by @remi-or in [#49156]
- 체크포인트에서 재개할 때의 최종 메트릭 수정 (#49208) by @SunMarc in [#49208]
- [ESM/Persimmon/NllbMoe/ESMFold] bucket CI 러너에서 Xet FUSE SIGBUS/IOError를 수정하기 위해 safetensors 저장소 사용 (#49194) by @ydshieh in [#49194]
- Dev 업데이트 (#49212) by @vasqu in [#49212]
주요 커뮤니티 기여
다음 기여자들은 지난 릴리스 이후 라이브러리에 중요한 변경 사항을 기여했습니다:
- @vasqu
- Smthn smthn (#49364)
- [
GTE] 메모리 믹스인 추가 (#49234) - Dev 업데이트 (#49212)
- @remi-or
- [Fix] 오래된 테스트 두 개가 담긴 옛 테스트 파일 제거 (#49280)
- [CB] CB를 더욱 디바이스 중립적으로 만들고 XPU 지원 추가 (#49156)
- 🚨 주의 🚨 SDPA 및 flash의 "paged|" 접두사 지원 중단 (#49112)
- 🚨 주의 🚨 일반 attention이 CB를 지원하도록 변경 (#49101)
- 🚨 [CB] 🚨 index 및 block table 경로를 위한 퓨즈 업데이트 (#49088)
- [Refactor] 일부 flash-attention 유틸리티를 더 읽기 쉽게 변경 (#49071)
- 🚨 [CB] 🚨 "paged" 제거 전 사소한 수정 (#49069)