Mistral 7B 러시아어 미세 조정: LoRA에서 완전 미세 조정까지, 대화 요약을 위한 여정
Mistral 7B는 러시아어에서 성능이 낮습니다: 격 변화 오류, 프롬프트 무시, 긴 대화에서 의미 손실 등이 발생합니다. AiGenda 팀은 회의록 자동화를 위해 이 모델을 미세 조정하기로 결정했습니다. 이 작업에는 음성 인식, 화자 식별, 주제 감지, 그리고 최대 7B 매개변수와 8192 토큰 컨텍스트를 가진 LLM을 사용한 요약이 포함됩니다.
아키텍처는 확장성, 보안, 내결함성을 위해 설계되었습니다. 백엔드는 RabbitMQ를 통해 ML 서비스로 요청을 라우팅합니다. ML 컨트롤러는 모델을 관리하고 임베딩을 위한 벡터 데이터베이스와 상호작용합니다. 데이터는 S3 저장소와 OpenStack API를 통한 회의 녹음으로 격리되어 있습니다.
ML 시스템 아키텍처
처리 파이프라인: 인터페이스 → 백엔드 → RabbitMQ → ML → 응답. ML 컨트롤러는 Whisper(음성), pyannote/ResNet34(화자), 주제를 위한 임베딩, 그리고 텍스트를 위한 Mistral 간 작업을 분배합니다.
주요 구성 요소:
- RabbitMQ 큐: 배치 처리, 지연 시간 감소.
- ML 컨트롤러: 라우팅, 모델 추가/교체.
- 벡터 데이터베이스: 화자 및 텍스트 임베딩.
- 회의 컨트롤러: 녹음을 위한 동적 리소스.
- 모니터링: Grafana, Sentry.
이를 통해 모델에 직접 접근 없이 유연성과 보안을 보장합니다.
LoRA 실패와 완전 미세 조정으로의 전환
LoRA는 오류를 완화했지만, 기본 모델의 러시아어 데이터 부족으로 인한 약한 문장 논리를 해결하지 못했습니다. 우리는 완전 미세 조정으로 전환했습니다.
우리는 53.5억 토큰의 데이터셋을 구성했습니다: 텍스트, 대화, 지침, 기계 번역 등. transformers(Hugging Face)로 최적화와 함께 학습:
- 혼합 정밀도, bfloat16.
- 패딩 없는 샘플러(10배 속도 향상).
- Flash Attention 2(VRAM 절약).
- CPU로 오프로딩하는 ZeRO-2.
두 개의 Nvidia RTX A6000(48 GB)가 예산에 맞았습니다. 로그는 wandb.ai에 기록되었습니다.
MERA에서 언어 모델 평가
Ubuntu 20.04, RTX 4090, 16 Ice Lake 코어, 32 GB RAM에서 테스트했습니다. 미세 조정된 모델은 기본 Mistral 7B, GigaChat, MTS Chat보다 성능이 우수했습니다:
- LCS.
- PARus.
- SimpleAR.
- RuHumanEval.
- ruHH.
실제 적용: 대화에서 오류 감소, 8192 토큰 내 정보 추출, 낮은 환각 발생.
핵심 요점:
- 사전 학습 모델에 데이터가 제한된 언어에서는 완전 미세 조정이 중요합니다.
- 최적화(Flash Attention, ZeRO-2)로 소비자용 하드웨어에서 7B 모델 학습이 가능합니다.
- MERA는 러시아어에 대한 신뢰할 수 있는 벤치마크입니다.
- 8192 토큰 컨텍스트는 회의 대화에 충분합니다.
- 아키텍처와의 통합으로 프로덕션 준비가 보장됩니다.
작업별 미세 조정과 Whisper
대화 데이터셋(요약, 실행 항목, 주제)에 대한 최종 LoRA. 주석: 수동 + GPT-4 API. 요약에 대한 BertScore F1 = 0.93.
Whisper는 50% 이상 러시아어로 미세 조정: 강의, 컨퍼런스, 인터뷰. 의사 레이블링 + 사전 검사(예: "ETMO" → "ITMO"). 잡음이 있는 회의 오디오에서 WER 감소.
향후 개발
계획: 컨텍스트 최대 128k 토큰, 새로운 아키텍처. 반복을 위한 피드백 수집.
— Editorial Team
아직 댓글이 없습니다.