ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Boosting Wav2Vec2 with n-grams in ๐Ÿค— Transformers
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face Transformers๊ฐ€ pyctcdecode ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ Wav2Vec2 ์Œ์„ฑ์ธ์‹ ๋ชจ๋ธ์— n-gram ์–ธ์–ด๋ชจ๋ธ์„ ๊ฒฐํ•ฉํ•œ ๋””์ฝ”๋”ฉ ๋ฐฉ์‹ ์ œ๊ณต์œผ๋กœ WER 30% ์ƒ๋Œ€ ์„ฑ๋Šฅ ํ–ฅ์ƒ

Boosting Wav2Vec2 with n-grams in ๐Ÿค— Transformers

2022๋…„ 1์›” 12์ผ12๋ถ„intermediate

Context

Wav2Vec2๋Š” CTC ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ์™ธ๋ถ€ ์–ธ์–ด๋ชจ๋ธ ์—†์ด๋„ ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ณต์‹ ๋…ผ๋ฌธ Appendix C์—์„œ ์–ธ์–ด๋ชจ๋ธ ๊ฒฐํ•ฉ ์‹œ ํŠนํžˆ 10๋ถ„ ๋ถ„๋Ÿ‰์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ์œ ์˜๋ฏธํ•˜๊ฒŒ ํ–ฅ์ƒ๋จ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. Hugging Face Transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด์ „๊นŒ์ง€ ํŒŒ์ธํŠœ๋‹๋œ Wav2Vec2 ๋ชจ๋ธ๊ณผ ์–ธ์–ด๋ชจ๋ธ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜๋‹ค.

Technical Solution

  • Kensho Technologies์˜ pyctcdecode ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Transformers์— ํ†ตํ•ฉํ•˜์—ฌ ์–ธ์–ด๋ชจ๋ธ ๋””์ฝ”๋”ฉ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • KenLM์„ ์‚ฌ์šฉํ•ด ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ n-gram ์–ธ์–ด๋ชจ๋ธ(5-gram) ๊ตฌ์ถ•
  • Wav2Vec2Processor์˜ batch_decode() ๋ฉ”์„œ๋“œ์—์„œ ๋””์ฝ”๋” ๊ฐ์ฒด๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„ LM-๋ถ€์ŠคํŒ…๋œ ๋””์ฝ”๋”ฉ ์‹คํ–‰
  • Hugging Face Hub์˜ ๋ชจ๋ธ ์นด๋“œ์— 5-gram ์–ธ์–ด๋ชจ๋ธ ํŒŒ์ผ์„ Git LFS๋ฅผ ํ†ตํ•ด ์—…๋กœ๋“œ(1.85GB)
  • ํŒŒ์ธํŠœ๋‹๋œ Wav2Vec2 ์ฒดํฌํฌ์ธํŠธ ์œ„์— ํ•™์Šต๋œ ์–ธ์–ด๋ชจ๋ธ์„ ์Šคํƒํ•˜์—ฌ ์Œ์„ฑ ์‹œํ€€์Šค ๋””์ฝ”๋”ฉ ์ˆ˜ํ–‰

Impact

  • Common Voice 7 ํ…Œ์ŠคํŠธ์…‹์—์„œ WER(๋‹จ์–ด ์˜ค๋ฅ˜์œจ) 18.85% ๋‹ฌ์„ฑ์œผ๋กœ ์ƒ๋Œ€ ์„ฑ๋Šฅ ์•ฝ 30% ํ–ฅ์ƒ

Key Takeaway

์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ์˜ ์ปจํ…์ŠคํŠธ ์ธ์‹ ๋Šฅ๋ ฅ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ ์Œ์„ฑ์ธ์‹ ์ž‘์—…์—์„œ ์‚ฌํ›„ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„์— ๊ฒฝ๋Ÿ‰ n-gram ์–ธ์–ด๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ˆ˜์ค€์˜ ํ‘œ์ค€ํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต์ด ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•์˜ ์‹ค๋ฌด ์ ์šฉ์„ ์ด‰์ง„ํ•œ๋‹ค.


Wav2Vec2 ๊ธฐ๋ฐ˜ ์Œ์„ฑ์ธ์‹ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋Š” ์ตœ์†Œ 10๋ถ„ ๋ถ„๋Ÿ‰์˜ ์ „์‚ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ KenLM์œผ๋กœ n-gram ์–ธ์–ด๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  pyctcdecode๋ฅผ ํ†ตํ•ด Wav2Vec2 ๋ชจ๋ธ๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด ์™ธ๋ถ€ ์–ธ์–ด๋ชจ๋ธ ์„œ๋ฒ„ ์—†์ด๋„ 30% ์ˆ˜์ค€์˜ ๋‹จ์–ด ์˜ค๋ฅ˜์œจ ๊ฐ์†Œ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ