일반 소개
키미오디오는 문샷 AI에서 개발한 오픈 소스 오디오 기반 모델로, 오디오 이해, 생성 및 대화에 중점을 두고 있습니다. 음성 인식, 오디오 질의응답, 음성 감정 인식 등 다양한 오디오 처리 작업을 지원합니다. 이 모델은 1,300만 시간 이상의 오디오 데이터로 사전 학습되었으며, 혁신적인 하이브리드 아키텍처와 결합되어 여러 오디오 벤치마크에서 우수한 성능을 발휘합니다. kimi-Audio는 개발자가 연구 및 애플리케이션에 쉽게 통합할 수 있도록 모델 가중치, 추론 코드 및 평가 툴킷을 제공합니다. 효율적인 오디오 처리 및 대화 기능이 필요한 시나리오에 적합하며, 명확한 문서, Docker 배포 지원, 활발한 커뮤니티, 지속적인 업데이트가 제공됩니다.

기능 목록
- 음성 인식(ASR): 오디오를 텍스트로 변환하고 다국어 음성 트랜스 크립 션을 지원합니다.
- 오디오 질문 및 답변(AQA): 오디오 콘텐츠를 기반으로 사용자의 질문에 답변하고 오디오 컨텍스트를 이해합니다.
- AAC(오디오 캡션): 오디오에 대한 정확한 캡션 또는 설명을 생성합니다.
- SER(음성 감정 인식): 행복, 슬픔 등 오디오의 감정 상태를 분석합니다.
- 사운드 이벤트/장면 분류(SEC/ASC): 자동차 소리나 실내 환경과 같은 오디오의 특정 이벤트 또는 장면을 식별합니다.
- TTS(텍스트 음성 변환): 텍스트를 자연스러운 음성으로 변환하고 여러 톤을 지원합니다.
- 음성 변환(VC): 음성의 음색이나 스타일을 변경하여 개인화된 오디오를 생성할 수 있습니다.
- 엔드투엔드 음성 대화: 자연스러운 대화를 시뮬레이션하여 지속적인 음성 상호 작용을 지원합니다.
- 스트리밍 오디오 생성: 청크 스트리밍 디코더를 통해 지연 시간이 짧은 오디오를 생성합니다.
- 평가 툴킷: 다양한 모델 성능을 쉽게 비교할 수 있도록 표준화된 평가 도구를 제공합니다.
도움말 사용
설치 프로세스
일관된 환경과 손쉬운 설치를 위해 Kimi-Audio 배포에는 Docker를 사용하는 것이 좋습니다. 자세한 설치 단계는 다음과 같습니다:
- 클론 창고
터미널에서 다음 명령을 실행하여 키미오디오의 코드와 서브모듈을 가져옵니다:git clone https://github.com/MoonshotAI/Kimi-Audio.git cd Kimi-Audio git submodule update --init --recursive
- 종속성 설치
파이썬 종속성을 설치하려면 파이썬 3.10 환경을 권장합니다:pip install -r requirements.txt
설치 확인
torch
노래로 응답soundfile
GPU를 지원하는 경우 CUDA 버전의 PyTorch를 설치해야 합니다. - 도커 이미지 구축
Kimi-Audio 디렉토리에 도커 이미지를 빌드합니다:docker build -t kimi-audio:v0.1 .
또는 미리 제작된 공식 이미지를 사용하세요:
docker pull moonshotai/kimi-audio:v0.1
- 실행 중인 컨테이너
Docker 컨테이너를 시작하고 로컬 작업 디렉터리를 마운트합니다:docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
- 모델 가중치 다운로드
키미오디오는 두 가지 주요 모델을 제공합니다:Kimi-Audio-7B
(기본 모델) 및Kimi-Audio-7B-Instruct
(모델 미세 조정을 위한 지침). 허깅 페이스에서 다운로드했습니다:moonshotai/Kimi-Audio-7B-Instruct
직접 사용하기에 적합합니다.moonshotai/Kimi-Audio-7B
추가 미세 조정에 적합합니다.
허깅 페이스 CLI를 사용하여 로그인하고 다운로드합니다:
huggingface-cli login
모델이 지정된 경로로 자동 다운로드됩니다.
사용법
키미오디오의 핵심 기능은 파이썬 API 호출을 통해 구현됩니다. 주요 기능의 자세한 동작 흐름은 다음과 같습니다:
1. 음성 인식(ASR)
오디오 파일을 텍스트로 변환합니다. 샘플 코드입니다:
import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# 加载模型
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# 设置采样参数
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
# 准备输入
asr_audio_path = "asr_example.wav" # 确保文件存在
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
# 生成文本输出
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print("转录结果:", text_output)
절차::
- WAV 형식의 오디오 파일을 준비합니다.
- 설정
messages_asr
작업을 트랜스크립션으로 지정합니다. - 코드를 실행하고 텍스트 출력을 얻습니다.
2. 오디오 퀴즈(AQA)
오디오를 바탕으로 질문에 답하세요. 예시:
qa_audio_path = "qa_example.wav"
messages_qa = [
{"role": "user", "message_type": "text", "content": "音频中说了什么?"},
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
_, text_output = model.generate(messages_qa, **sampling_params, output_type="text")
print("回答:", text_output)
절차::
- 정보가 포함된 오디오 파일을 업로드합니다.
- 존재
messages_qa
에서 구체적인 질문을 설정하세요. - 모델로부터 텍스트 응답을 받습니다.
3. 텍스트 음성 변환(TTS)
텍스트를 음성 출력으로 변환합니다. 예시:
messages_tts = [
{"role": "user", "message_type": "text", "content": "请将以下文本转为语音:你好,欢迎使用 Kimi-Audio!"}
]
audio_output, _ = model.generate(messages_tts, **sampling_params, output_type="audio")
sf.write("output.wav", audio_output, samplerate=16000)
절차::
- 변환할 텍스트를 입력합니다.
- 설정
output_type="audio"
오디오 데이터를 가져옵니다. - 활용
soundfile
WAV 파일로 저장합니다.
4. 종단 간 음성 대화
지속적인 음성 상호작용을 지원합니다. 예시:
messages_conversation = [
{"role": "user", "message_type": "audio", "content": "conversation_example.wav"},
{"role": "user", "message_type": "text", "content": "请回复一段语音,介绍你的功能。"}
]
audio_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
sf.write("response.wav", audio_output, samplerate=16000)
print("文本回复:", text_output)
절차::
- 초기 음성 입력 및 텍스트 명령을 제공합니다.
- 설정
output_type="both"
음성 및 문자 응답을 받습니다. - 오디오 출력을 저장하고 텍스트를 확인합니다.
5. 평가 툴킷 사용
Kimi-Audio 제공 Kimi-Audio-Evalkit
모델 성능 평가용. 설치:
git clone https://github.com/MoonshotAI/Kimi-Audio-Evalkit.git
cd Kimi-Audio-Evalkit
pip install -r requirements.txt
운영 평가:
bash run_audio.sh --model Kimi-Audio --dataset all
절차::
- 데이터 집합을 지정된 디렉터리에 다운로드합니다.
- 구성
config.yaml
데이터 집합 경로를 지정합니다. - 스크립트를 실행하여 평가 보고서를 생성합니다.
주의
- 오디오 파일 형식이 샘플 속도가 16kHz인 WAV인지 확인합니다.
- GPU 환경은 추론을 가속화하며 CUDA 12.4를 권장합니다.
- 모델을 로드하려면 많은 양의 메모리가 필요하므로 최소 16GB의 그래픽 메모리를 권장합니다.
- 도커가 아닌 배포에는 시스템 종속성을 수동으로 설치해야 하므로 GitHub 설명서를 참조하세요.
애플리케이션 시나리오
- 지능형 고객 서비스
키미오디오는 음성 상호작용을 위한 고객 서비스 시스템을 구축하는 데 사용할 수 있습니다. 음성 인식을 통해 사용자 질문을 전사하고, 오디오 Q&A를 결합하여 답변을 제공하며, 자연스러운 음성 응답을 생성합니다. 사용자 경험을 향상시키기 위한 이커머스 플랫폼이나 기술 지원 시나리오에 적합합니다. - 교육 보조 자료
언어 학습에서 키미오디오는 학생의 발음을 전사하고 감정과 억양을 분석하여 피드백을 제공합니다. 또한 교육용 텍스트를 음성으로 변환하여 듣기 자료를 생성할 수 있어 온라인 교육 플랫폼에 적합합니다. - 콘텐츠 제작
동영상 제작자는 키미오디오를 사용하여 자막이나 더빙을 생성할 수 있습니다. 동영상에 정확한 자막을 자동으로 생성하거나 스크립트를 여러 톤의 음성으로 변환하여 포스트 프로덕션을 간소화할 수 있습니다. - 의료 기록
의사가 음성으로 증례를 입력하면 키미오디오가 이를 텍스트로 변환하고 감정을 분류하여 환자의 감정 상태를 진단하는 데 도움을 줍니다. 병원 정보 시스템에 적합합니다.
QA
- 키미오디오는 어떤 언어를 지원하나요?
키미오디오는 특히 영어와 중국어 등 다국어 음성 인식 및 생성을 지원합니다. 다른 언어 지원은 공식 문서를 참조하세요. - 추론 속도를 최적화하는 방법은 무엇인가요?
GPU 가속을 사용하려면 다음을 설치하세요.flash-attn
라이브러리, 세트torch_dtype=torch.bfloat16
. 또한, 조정audio_top_k
노래로 응답text_top_k
속도와 품질이 균형을 이루는 매개변수입니다. - 모델이 실시간 대화를 지원하나요?
예, 키미오디오의 스트리밍 디코더는 실시간 음성 상호작용을 위한 저지연 오디오 생성을 지원합니다. - 평가를 위해 사용자 지정 데이터 집합을 추가하려면 어떻게 하나요?
존재Kimi-Audio-Evalkit
JSONL 파일을 생성합니다.index
및audio_path
노래로 응답question
필드에 입력합니다. 수정config.yaml
데이터 세트 경로를 지정하고 평가 스크립트를 실행하기만 하면 됩니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...