ํ•œ๊ตญ์–ด ์ŠคํŠธ๋ฆฌ๋ฐ ํ‚ค์›Œ๋“œ ๊ฒ€์ถœ ๋ชจ๋ธ (Zipformer tiny)

๋ธŒ๋ผ์šฐ์ €๋‚˜ ๋ชจ๋ฐ”์ผ์—์„œ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ž‘์€ ํ•œ๊ตญ์–ด ํ‚ค์›Œ๋“œ ๊ฒ€์ถœ(KWS) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ Zipformer + RNN-T ๊ตฌ์กฐ์ด๊ณ , sherpa-onnx์˜ KeywordSpotter๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ๋Š” ๋‹ค์‹œ ํ•™์Šตํ•˜์ง€ ์•Š๊ณ  ํ…์ŠคํŠธ๋กœ ๋ฐ”๊ฟ” ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘

pip install sherpa-onnx sentencepiece soundfile numpy
python kws_demo.py --keywords ๋Œ€๋ถ€๋ถ„,๋Œ€ํ†ต๋ น,์˜ฌ๋ฆผํ”ฝ,์šด์ „์ž test_wavs/0.wav test_wavs/1.wav
test_wavs/0.wav: ๋Œ€๋ถ€๋ถ„ (~4.4s)
test_wavs/1.wav: ์šด์ „์ž (~2.8s)

ํ‚ค์›Œ๋“œ ํŒŒ์ผ์€ sherpa-onnx ํ˜•์‹์ž…๋‹ˆ๋‹ค. ํ•œ ์ค„์— ํ‚ค์›Œ๋“œ ํ•˜๋‚˜๋ฅผ BPE ํ† ํฐ, ๊ฐ€์‚ฐ์ , ๋ฌธํ„ฑ๊ฐ’, ์ด๋ฆ„ ์ˆœ์œผ๋กœ ์ ์Šต๋‹ˆ๋‹ค. kws_demo.py๊ฐ€ bpe.model๋กœ ํ† ํฐ์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

โ–๋Œ€ ๋ถ€ ๋ถ„ :1.0 #0.35 @๋Œ€๋ถ€๋ถ„

ํŒŒ์ผ

ํŒŒ์ผ ๋‚ด์šฉ
encoder.int8.onnx, decoder.int8.onnx, joiner.int8.onnx ๋ฐฐํฌ์šฉ int8 ๋ชจ๋ธ (8.5 + 0.4 + 0.4 MB)
encoder.onnx, decoder.onnx, joiner.onnx fp32 ๋ชจ๋ธ
tokens.txt, bpe.model ์Œ์ ˆ ๊ธฐ๋ฐ˜ unigram BPE 2,000
pretrained.pt icefall ์ฒดํฌํฌ์ธํŠธ (๋ฏธ์„ธ์กฐ์ •์šฉ)
kws_demo.py sherpa-onnx ์˜ˆ์ œ
test_wavs/ FLEURS ko_kr test ์Œ์„ฑ 2๊ฐœ (CC BY 4.0)

ONNX๋Š” ์ฒญํฌ 16 ํ”„๋ ˆ์ž„(320 ms), ์™ผ์ชฝ ๋ฌธ๋งฅ 128 ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚ด๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ

ํ‰๊ฐ€์…‹ CER FRR@ฯ„0.35 FA/h@ฯ„0.35 FRR@1FA/h FRR@0.1FA/h
KsponSpeech eval_clean 13.8% 25.6% 0.81 23.1% 31.4%
KsponSpeech eval_other 14.7% 15.9% 2.00 35.2% 100%
FLEURS ko test 14.6% 5.9% 0.00 4.9% 4.9%
AI Hub ๋ช…๋ น์–ด 4.7% 6.5% 9.51 37.7% 61.3%
AI Hub ์†Œ์Œ ๋ช…๋ น์–ด 7.7% 8.7% 32.48 83.0% 92.6%
  • CER: ์ŠคํŠธ๋ฆฌ๋ฐ ๊ทธ๋ฆฌ๋”” ๋””์ฝ”๋”ฉ, ์Œ์ ˆ ๋‹จ์œ„, ๊ณต๋ฐฑ ๋ฌด์‹œ.
  • KWS: ํ‰๊ฐ€์…‹๋งˆ๋‹ค ์ž์ฃผ ๋‚˜์˜ค๋Š” 3์Œ์ ˆ ์ด์ƒ ๋ช…์‚ฌ 20๊ฐœ๋ฅผ ํ‚ค์›Œ๋“œ๋กœ ์ผ์Šต๋‹ˆ๋‹ค(icefall ๋ฐฉ์‹).
    • FRR์€ ๋†“์นœ ์–‘์„ฑ ๋น„์œจ, FA/h๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์—†๋Š” ์Œ์„ฑ 1์‹œ๊ฐ„๋‹น ์˜คํƒ ์ˆ˜์ž…๋‹ˆ๋‹ค.
    • FRR@1FA/h๋Š” ์˜คํƒ์ด ์‹œ๊ฐ„๋‹น 1ํšŒ ์ดํ•˜๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ๋ฌธํ„ฑ๊ฐ’์—์„œ์˜ FRR์ž…๋‹ˆ๋‹ค.
  • AI Hub ํ‰๊ฐ€์…‹: ๋‘ ์„ธํŠธ ๋ชจ๋‘ ๊ฒ€์ฆ ์„ธํŠธ์—์„œ 3,000๊ฐœ ๋ฐœํ™”๋ฅผ ๋ฝ‘์•˜์Šต๋‹ˆ๋‹ค.
    • ๋ช…๋ น์–ด ํ‰๊ฐ€์…‹์€ ํ•™์Šต๊ณผ ๊ฒน์น˜์ง€ ์•Š๋Š” ํ™”์ž๋งŒ ์ผ์Šต๋‹ˆ๋‹ค.
    • ํ‰๊ฐ€ ๋ฌธ์žฅ๊ณผ ๊ฐ™์€ ๋ฌธ์žฅ์˜ ๋ฐœํ™”๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ ๋ชจ๋‘ ๋บ์Šต๋‹ˆ๋‹ค.
  • ์˜คํƒ ํ‰๊ฐ€ ์Œ์„ฑ์ด 1~3.5์‹œ๊ฐ„๋ฟ์ด๋ผ FRR@1FA/h์™€ FRR@0.1FA/h๋Š” ์˜คํƒ ํ•œ๋‘ ๊ฑด์— ํฌ๊ฒŒ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค. ฯ„0.35 ์ˆ˜์น˜๋ฅผ ํ•จ๊ป˜ ๋ณด์„ธ์š”.

ํ•œ๊ณ„

  • ์†Œ์Œ ํ™˜๊ฒฝ์˜ ์˜คํƒ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ฯ„0.35์—์„œ ์‹œ๊ฐ„๋‹น 32ํšŒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์„œ๋น„์Šค์—์„œ๋Š” ๋ฌธํ„ฑ๊ฐ’์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ 2๋‹จ๊ณ„ ๊ฒ€์ฆ์„ ๋‘๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„ ํ‘œํ˜„์— ๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ๋Œ€๋ณธ์— ์˜ˆ์‹œ ์ด๋ฆ„์œผ๋กœ ์ž์ฃผ ๋‚˜์˜ค๋Š” "ํ™๊ธธ๋™"์ด ๋ฌด๊ด€ํ•œ ๋ฐœํ™”์—์„œ ๊ฒ€์ถœ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐœ์Œ์ด ๋น„์Šทํ•œ ๋‹จ์–ด๋ฅผ ํ—ท๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค. "๋„์„œ ๋ฐ˜๋‚ฉ"์„ "๋„์„œ๊ด€"์œผ๋กœ, "์ง€ํ•˜ ์ผ ์ธต"์„ "์ง€ํ•˜์ฒ "๋กœ ์žก๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ‘œ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ํ‚ค์›Œ๋“œ๋กœ ๋ด…๋‹ˆ๋‹ค. "ํ‹ฐ๋น„"์™€ "ํ‹ฐ๋ธŒ์ด"๋Š” ๋”ฐ๋กœ ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆซ์ž์™€ ์˜๋ฌธ์€ ํ•™์Šต ์ „์‚ฌ์—์„œ ๋บ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž๋Š” "์‚ผ ์ธต"์ฒ˜๋Ÿผ ํ•œ๊ธ€๋กœ ์ ์€ ํ‚ค์›Œ๋“œ๋ฅผ ์“ฐ์„ธ์š”.

ํ•™์Šต

ํ•ญ๋ชฉ ๊ฐ’
๊ตฌ์กฐ ์ธ์ฝ”๋” 6์Šคํƒ ร— 2์ธต, dim 128, feedforward 192 / ๋””์ฝ”๋”ยท์กฐ์ด๋„ˆ 192
ํŒŒ๋ผ๋ฏธํ„ฐ 6.61M (ํ•™์Šต ์ „์šฉ ์ธต ํฌํ•จ)
๋ฐ์ดํ„ฐ 5,559์‹œ๊ฐ„, 4,189,980๊ฐœ ๋ฐœํ™”
์ฆ๊ฐ• MUSAN CutMix(p=0.5, SNR 10~20 dB), SpecAugment
ํ•™์Šต 12 epoch, fp16, RTX 5090 1์žฅ, epoch๋‹น ์•ฝ 1์‹œ๊ฐ„ 45๋ถ„
๋ชจ๋ธ ์„ ํƒ KsponSpeech dev CER๋กœ epoch 12(ํ‰๊ท  1) ์„ ํƒ
๋ฐ์ดํ„ฐ ์‹œ๊ฐ„
AI Hub ์ž์œ ๋Œ€ํ™”(์ผ๋ฐ˜๋‚จ์—ฌ) 3,201 h
KsponSpeech 929 h
AI Hub ๋ช…๋ น์–ด ์ธ์‹์šฉ ์†Œ์Œ ํ™˜๊ฒฝ (๋ฌธ์žฅ๋‹น ์ตœ๋Œ€ 20ํšŒ) 696 h
AI Hub ๋ฌธํ•™์ž‘ํ’ˆ ๋‚ญ์†กยท๋‚ญ๋… 370 h
AI Hub ๋ช…๋ น์–ด(์ผ๋ฐ˜๋‚จ์—ฌ) (๋ฌธ์žฅ๋‹น ์ตœ๋Œ€ 20ํšŒ) 184 h
Zeroth-Korean (์†๋„ ๋ณ€ํ˜• ํฌํ•จ) 156 h
FLEURS ko_kr (์†๋„ ๋ณ€ํ˜• ํฌํ•จ) 22 h

์ž์„ธํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ์žฌํ˜„ ๋ฐฉ๋ฒ•์€ ํ•™์Šต ์ฝ”๋“œ ์ €์žฅ์†Œ์˜ README์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค์™€ ์ถœ์ฒ˜

  • ๋ชจ๋ธ๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ๋Š” Apache License 2.0์œผ๋กœ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•™์Šต์—๋Š” AI Hub ๋ฐ์ดํ„ฐ(KsponSpeech ํฌํ•จ), Zeroth-Korean, FLEURS๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต ์ฝ”๋“œ๋Š” icefall(Apache 2.0) ๋ ˆ์‹œํ”ผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • test_wavs/์˜ ์Œ์„ฑ์€ FLEURS(CC BY 4.0) ko_kr test ์„ธํŠธ์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support