Upgrade to Pro — share decks privately, control downloads, hide ads and more …

음성 뉴비의 Whisper Fine-tuning 해보기 - 최성철

Lablup Inc.
November 28, 2023
1k

음성 뉴비의 Whisper Fine-tuning 해보기 - 최성철

Lablup Conf 2023

Lablup Inc.

November 28, 2023
Tweet

More Decks by Lablup Inc.

Transcript

  1. 최성철 § Sungchul Choi theteamlab.io § 삼성전자종합기술원 2012 § 가천대학교

    산업경영공학과 / 동탄I / 2014 § 애둘아빠 한때 강제유튜버 § 해운대 부경대학교 시스템경영공학부 § 팀리부뜨 대표 reboott.ai
  2. 5월 11일 회의록 [주요 토론 포인트] - 예창패의 돈은 다음

    주에 들어올 것입니다. - 노트북 출시는 다음 주에 예정되어 있습니다. - 제품팀은 6월 12일 이후 제품 요구사항, 제품 디자인, API 사양, 모니터링 및 로그, 요금 제한에 대한 작업을 시작할 예정입니다. - AI 팀은 제품 팀과 다양한 API를 연결하는 작업을 할 것입니다. - Azure 플랫폼은 OpenAI API 제공 및 Google API와의 연결에 사용됩니다. - 목업 디자인, 로고 디자인, 홈페이지 디자인은 향후 12일 이내에 완료해야 합니다. - 상품팀원에게 무역 실무 및 관련 용어에 대한 학습을 권장합니다. - 6월말에 있을 스타트업 관련 경진대회에 대한 준비가 중요합니다. - 현재 프로젝트는 람다보다 REST API를 선호합니다. - 인프라 관련 업무는 다른 팀원이 담당합니다. - 프로젝트에서 Azure와 Google API가 함께 사용되어 더 복잡해짐[실행 항목] - 제품 팀원들은 무역 실무와 관련 용어를 따로 공부해야 합니다. - 성철은 수요일까지 목업 디자인에 대한 1차 시안을 제출한다. - 승현과 상우는 초기 제품 디자인 초안에 대한 견적을 준비해야 합니다. - 종훈은 프로젝트에 Azure와 Google API를 사용할지 조사해야 합니다.
  3. 소음 상황에서 STT § Reference: 한 만 6천 원이면 저렴한

    거 아니야? 물론 내용을 구성 부분을 좀 봐야 겠지만, 그래도 한정식이 만 6천 원이면 나는 괜찮다고 생각이 드는데. § Naver Clova prediction: 한 만 6천 원이면 저렴한 거 아니야 물론 내용을 구성 기금을도 봐야 되지만 그래도 한 병씩이 만 6천 원이면 나는 괜찮다고 생각이 드는데.
  4. Whisper Model § Whisper Model은 OpenAI에서 개발한 음성 인식 모델

    § 다양한 언어의 음성을 인식하고, 음성 번역 및 언어 감지도 수행할 수 있음 § Transformer sequence to sequence 모델로 구성되어 있으며, 다국어 음성 인식, 음성 번역, 발화 언어 식별 및 음성 활동 감지를 수행할 § 대규모 데이터셋을 기반으로 학습되었으며, 다양한 오디오 데이터를 포함함 § 680,000 시간의 web scale dataset으로 사전 학습 § 과소평가된 weakly supervised learning은 좋은 방법.
  5. Whisper Model (80x3000) (768x1500) Skip Connection Normalization spectrogram의 representation 학습

    Encoder를 통해 학습한 representation 을 발화에 해당하는 text에 매핑 학습 (1500x768) startoftranscript Q V K INPUT 30초 고정 embedding
  6. Log Mel Spectrogram Amplitude Time § 사람의 발화를 녹음한 데이터

    § 매질인 공기 분자가 흔들리며 형성되는 공기압의 진폭 amplitude 이 파형을 띄게 되어 위와 같은 그래프가 그려짐. § 이 waveform을 이용해서 컴퓨터가 인간의 언어를 인식할 수 있게 해야함
  7. § 음성 데이터는 연속형 데이터m but. 컴퓨터는 0, 1만 인식

    § 일정한 시간 간격으로 아날로그 신호의 값을 샘플링하고, 그 샘플링된 값을 이진 코드로 표현하는 방식으로 이루어짐 § 2 Steps : Sampling Quantization Log Mel Spectrogram
  8. § 대부분의 아날로그 신호나 waveform은 매우 복잡한 구조를 가집니다. 이는

    다양한 주파수 성분이 혼합되어 있음을 의미함 § 디지털 변환 과정에서는 이러한 복잡한 주파수 성분들을 완벽하게 표현하기가 어려움 Feature Extraction: Spectrum Waveform 다양한 신호의 결합. 복잡한 신호를 주파수 도메인에서 주파수 성분으로 분해 하자! by. Fourier Transform FT Original Signal Singal 1 Singal 2 복잡한 신호라도 각각의 frequency에서 해석이 가능해짐.
  9. Feature Extraction: Spectrum Waveform 다양한 신호의 결합. 데이터의 특징이 잘

    드러나는 형태로 변환 필요. FT의 결과 Spectrum waveform 전체에 FT를 적용시 time 정보 사라짐. 각 주파수 성분이 언제 존재하는지 파악 불가 해석 어려움
  10. § Spectrogram : 시간에 따른 주파수 표시한 그래프, 시간에 따라

    어떤 frequency가 강하게 발음이 됐는지. Feature Extraction: Spectrum
  11. 학습 파라메터 § 모델을 자신의 데이터의 특성에 맞게 학습하기 위해

    필요함. 아래와 같이 STFT를 적용할때 parameter들이 존재함. § win length: 음성을 작은 조각으로 자를 대 작은 조각의 크기 일반적으로 25ms 기본으로 함. 16000Hz 음성 Whisper sampling rate 에서는 400 16000/40 에 해당 1초: 16000 25ms: 400 § n fft: FT가 적용될 크기 win length보다 크거나 같아야함. 클시 자동으로 0으로 padding § hop length: 자르는 간격. 일반적으로 10ms, 16000Hz 음성에서는 160
  12. § 학습 데이터셋에 Text Normalization TN 을 거치지 않고 raw

    text를 예측하도록 최소한의 전처리를 진행 § TN: TTS전 필수적인 전처리 단계 ex. 123 백이십삼 달러 § ITN: 텍스트 가독성 향상을 위해 ASR 모델 출력을 다시 서면 형식으로 변환하는 과정 ex. 백이십삼 달러 123 § Filtering : 학습에 안좋은 영향을 주는 데이터를 제거. Data preprocessing Text Normalization , Filtering
  13. Multi task learning predicted_ids: [50258, 50264, 50359, 50363, 157, 226,

    234, 157, 227, …, 50257] transcription = processor.decode(predicted_ids, skip_special_tokens=False) transcription_special_tokens : <|startoftranscript|><|ko|><|transcribe|><|notimestamps|>진짜 평일이면 좋을 것 같긴 한데 이번에도 아닐걸 주말일걸<|endoftext|> transcription_no_special_tokens : 진짜 평일이면 좋을 것 같긴 한데 이번에도 아닐걸 주말일걸 언어 감지 모델: CLD2 Transformer sequence to sequence 모델로 구성되어 있으며, 다국어 음성 인식, 음성 번역, 발화 언어 식별 및 음성 활동 감지를 수행할
  14. § WER Word Error Rate : 예측 결과와 정답 간의

    모든 단어들을 비교 § CER Character Error Rate : 문자열 한 글자 과 정답 문자열 한 글자 사이의 문자 오류 비율을 나타내는 지표 § ?ER I D S / N – I Insertion : 단어가 잘못 삽입된 개수 – D Deletion : 단어가 잘못 삭제된 개수 – S Substition : 잘못 교체된 단어의 개수 Evaluation Metris
  15. § AIHub 극한 소음 음성인식 데이터 § 평가 지표: WER

    CER § 데이터는 4m 5m 정도의 길이를 가짐. § whisper의 입력은 30초 단위. § 문장 단위로 segmentation 진행함. Dataset 데이터 소음 종류 및 시간
  16. Dataset dataSet : 극한소음음성 , version : 1.0 , mediaUrl

    : 01.교통수단/01.지상운송수단/01 01 101201 220708 0105 VN.wav , date : 20220708 , noiseInfo : category : 교통수단 , subCategory : 지상운송수단 , noisePlace : 여의동 도로변 , , dialogs : speaker : 101 , speakerText : 너 누나가 있다고 했었지? , startTime :1, endTime :4.999, speakTime :3.999, , speaker : 201 , speakerText : 맞아. 나에게는 누나가 있어. , startTime :5.001, endTime :9.999, speakTime :4.998, , … 1. 오늘 날씨가 정말 좋네요. 2. 맞아요 오늘 하늘이 맑아요. 3. 밖에서 커피나 한잔 하시죠. Segmentation 1. 오늘 날씨가 정말 좋네요. 2. 맞아요 오늘 하늘이 맑아요. 3. 밖에서 커피나 한잔 하시죠. segment된 데이터에서 0 30초 이상 필터링, 제거. Train set: 222405 1116 hours , Validation set: 41315 207 hours
  17. Result Vanilla whisper zero shot Zero Shot WER: 157.45 Zero

    Shot CER: 122.66 Fine tuned whisper our method, baseline Fine Tuned WER: 55.5 Fine Tuned CER: 31.19
  18. 소음 상황에서 STT § Reference: 한 만 6천 원이면 저렴한

    거 아니야? 물론 내용을 구성 부분을 좀 봐야 겠지만, 그래도 한정식이 만 6천 원이면 나는 괜찮다고 생각이 드는데. § Naver Clova prediction: 한 만 6천 원이면 저렴한 거 아니야 물론 내용을 구성 기금을도 봐야 되지만 그래도 한 병씩이 만 6천 원이면 나는 괜찮다고 생각이 드는데. § Our prediction: 한 16000원이면 저렴한 거 아니야 물론 내용의 가성 부분을 좀 봐야 되지만 그래도 한경식이 16000원이면 나름 괜찮다고 생각이 드는데.
  19. Conclusion Remark § 훈련 데이터가 16배 증가할 때마다 WER이 절반으로

    줄어듦. § Total Dataset 영어 음성 인식 65 번역 18 다국어 음성 인식 17 § Whisper의 영어 성능 완벽하지 않지만 사람 수준의 정확도에 근접함. § 음성 인식만을 위한 데이터셋에서 한국어 비율 1.44 raw resouce language , raw resource language ➜ 데이터를 더 사용하면 성능 오를 여지가 있음. § Whisper 모델의 제로샷 일반화 연구 결과 영어 음성 인식을 제외하고 다국어 음성 인식, 음성 번역 및 언어 식별 전반에 모델 크기가 커질수록 성능이 계속 향상됨. ➜ 데이터를 더 많이 사용하고 모델의 크기를 키워보자!