키미 오디오: 오픈 소스 오디오 처리 및 대화 기반 모델

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
11.5K 00

일반 소개

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

Kimi-Audio:开源音频处理与对话基础模型

 

기능 목록

  • 음성 인식(ASR): 오디오를 텍스트로 변환하고 다국어 음성 트랜스 크립 션을 지원합니다.
  • 오디오 질문 및 답변(AQA): 오디오 콘텐츠를 기반으로 사용자의 질문에 답변하고 오디오 컨텍스트를 이해합니다.
  • AAC(오디오 캡션): 오디오에 대한 정확한 캡션 또는 설명을 생성합니다.
  • SER(음성 감정 인식): 행복, 슬픔 등 오디오의 감정 상태를 분석합니다.
  • 사운드 이벤트/장면 분류(SEC/ASC): 자동차 소리나 실내 환경과 같은 오디오의 특정 이벤트 또는 장면을 식별합니다.
  • TTS(텍스트 음성 변환): 텍스트를 자연스러운 음성으로 변환하고 여러 톤을 지원합니다.
  • 음성 변환(VC): 음성의 음색이나 스타일을 변경하여 개인화된 오디오를 생성할 수 있습니다.
  • 엔드투엔드 음성 대화: 자연스러운 대화를 시뮬레이션하여 지속적인 음성 상호 작용을 지원합니다.
  • 스트리밍 오디오 생성: 청크 스트리밍 디코더를 통해 지연 시간이 짧은 오디오를 생성합니다.
  • 평가 툴킷: 다양한 모델 성능을 쉽게 비교할 수 있도록 표준화된 평가 도구를 제공합니다.

 

도움말 사용

설치 프로세스

일관된 환경과 손쉬운 설치를 위해 Kimi-Audio 배포에는 Docker를 사용하는 것이 좋습니다. 자세한 설치 단계는 다음과 같습니다:

  1. 클론 창고
    터미널에서 다음 명령을 실행하여 키미오디오의 코드와 서브모듈을 가져옵니다:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. 종속성 설치
    파이썬 종속성을 설치하려면 파이썬 3.10 환경을 권장합니다:

    pip install -r requirements.txt
    

    설치 확인 torch 노래로 응답 soundfileGPU를 지원하는 경우 CUDA 버전의 PyTorch를 설치해야 합니다.

  2. 도커 이미지 구축
    Kimi-Audio 디렉토리에 도커 이미지를 빌드합니다:

    docker build -t kimi-audio:v0.1 .
    

    또는 미리 제작된 공식 이미지를 사용하세요:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. 실행 중인 컨테이너
    Docker 컨테이너를 시작하고 로컬 작업 디렉터리를 마운트합니다:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. 모델 가중치 다운로드
    키미오디오는 두 가지 주요 모델을 제공합니다: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 설명서를 참조하세요.

 

애플리케이션 시나리오

  1. 지능형 고객 서비스
    키미오디오는 음성 상호작용을 위한 고객 서비스 시스템을 구축하는 데 사용할 수 있습니다. 음성 인식을 통해 사용자 질문을 전사하고, 오디오 Q&A를 결합하여 답변을 제공하며, 자연스러운 음성 응답을 생성합니다. 사용자 경험을 향상시키기 위한 이커머스 플랫폼이나 기술 지원 시나리오에 적합합니다.
  2. 교육 보조 자료
    언어 학습에서 키미오디오는 학생의 발음을 전사하고 감정과 억양을 분석하여 피드백을 제공합니다. 또한 교육용 텍스트를 음성으로 변환하여 듣기 자료를 생성할 수 있어 온라인 교육 플랫폼에 적합합니다.
  3. 콘텐츠 제작
    동영상 제작자는 키미오디오를 사용하여 자막이나 더빙을 생성할 수 있습니다. 동영상에 정확한 자막을 자동으로 생성하거나 스크립트를 여러 톤의 음성으로 변환하여 포스트 프로덕션을 간소화할 수 있습니다.
  4. 의료 기록
    의사가 음성으로 증례를 입력하면 키미오디오가 이를 텍스트로 변환하고 감정을 분류하여 환자의 감정 상태를 진단하는 데 도움을 줍니다. 병원 정보 시스템에 적합합니다.

 

QA

  1. 키미오디오는 어떤 언어를 지원하나요?
    키미오디오는 특히 영어와 중국어 등 다국어 음성 인식 및 생성을 지원합니다. 다른 언어 지원은 공식 문서를 참조하세요.
  2. 추론 속도를 최적화하는 방법은 무엇인가요?
    GPU 가속을 사용하려면 다음을 설치하세요. flash-attn 라이브러리, 세트 torch_dtype=torch.bfloat16. 또한, 조정 audio_top_k 노래로 응답 text_top_k 속도와 품질이 균형을 이루는 매개변수입니다.
  3. 모델이 실시간 대화를 지원하나요?
    예, 키미오디오의 스트리밍 디코더는 실시간 음성 상호작용을 위한 저지연 오디오 생성을 지원합니다.
  4. 평가를 위해 사용자 지정 데이터 집합을 추가하려면 어떻게 하나요?
    존재 Kimi-Audio-Evalkit JSONL 파일을 생성합니다. indexaudio_path 노래로 응답 question 필드에 입력합니다. 수정 config.yaml 데이터 세트 경로를 지정하고 평가 스크립트를 실행하기만 하면 됩니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...