Notesoop-STT-Ko-v1

Language Speedup Audio Encoder VRAM Platform License

Download on the App Store  Get it on Google Play

Notesoop-STT-Ko-v1์€ ๋…ธํŠธ์ˆฒ(Notesoop)์—์„œ ๊ฐœ๋ฐœํ•œ Apple Silicon(PyTorch MPS) ๊ฐ€์† ํ•œ๊ตญ์–ด ์˜จ๋””๋ฐ”์ด์Šค ์Œ์„ฑ์ธ์‹(ASR) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

Google์˜ EmbeddingGemma-2 ์˜ค๋””์˜ค ์ธ์ฝ”๋”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜จ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ์— ์ตœ์ ํ™”๋œ ๊ฒฝ๋Ÿ‰ ์Œํ–ฅ ๋ฆฌ๋”์™€ ์–ธ์–ด ๋””์ฝ”๋”๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ฝ 1.2~1.5GB ์ˆ˜์ค€์˜ ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ๋กœ **์‹ค์‹œ๊ฐ„ ๋Œ€๋น„ ์•ฝ 40๋ฐฐ์†(RTF 0.0251, 41๋ถ„ ๋ถ„๋Ÿ‰ ์Œ์„ฑ์„ ์•ฝ 63์ดˆ์— ์ฒ˜๋ฆฌ)**์˜ ๋น ๋ฅธ ์˜จ๋””๋ฐ”์ด์Šค ์ถ”๋ก  ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ณธ ๋ชจ๋ธ(Notesoop-STT-Ko-v1)์€ ์˜ฌํ•ด ์•ˆ์— ๋…ธํŠธ์ˆฒ(Notesoop) ์•ฑ์—์„œ๋„ ๋งŒ๋‚˜๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Background & Design Goals

๋…ธํŠธ์ˆฒ์€ **"ํ•™์Šต์˜ ๋น„ํšจ์œจ์„ ์ค„์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ ๋ฐฐ์›€์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜์„ ๋งŒ๋“ ๋‹ค"**๋Š” ๋ฏธ์…˜ ์•„๋ž˜ ํฉ์–ด์ง„ ํ•™์Šต ๋„๊ตฌ์™€ AI๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ์ˆ ์„ ์—ฐ๊ตฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ์‹ค์งˆ์ ์ธ ํ•™์Šต ํšจ์œจ (Practicality & Speed): ๊ธด ๋…น์Œ ํŒŒ์ผ๋„ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์—†์ด ์ฆ‰์‹œ ๋ณต์Šต๊ณผ ์ •๋ฆฌ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋น„์ž๊ธฐํšŒ๊ท€(Non-Autoregressive) ๋‹จ์ผ ํŒจ์Šค ๊ตฌ์กฐ์™€ ๊ณ ์† ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋ฐ”์ผ ๋ฐ ์˜จ๋””๋ฐ”์ด์Šค ์ตœ์ ํ™” (Simplicity & Accessibility): ๋ณ„๋„์˜ ์„œ๋ฒ„๋‚˜ ๊ณ ์‚ฌ์–‘ ์žฅ๋น„ ์—†์ด ํƒœ๋ธ”๋ฆฟยท์Šค๋งˆํŠธํฐ ๋“ฑ ์ œํ•œ๋œ ์—ฐ์‚ฐ ์ž์›์„ ๊ฐ€์ง„ ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์—์„œ๋„ ์ถฉ๋ถ„ํ•œ ์ถ”๋ก  ์†๋„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก, ์Œํ–ฅ ๋ฆฌ๋” ๋ชจ๋ธ์„ ์˜จ๋””๋ฐ”์ด์Šค์— ๋งž๊ฒŒ ์ดˆ๊ฒฝ๋Ÿ‰ํ™”ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ์„ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์—ด๋ฆฐ ๊ธฐ์ˆ  ์‹คํ—˜ (Open Ecosystem): ๋ˆ„๊ตฌ๋‚˜ ์˜จ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ์—์„œ ํ•œ๊ตญ์–ด ์Œ์„ฑ์ธ์‹ ๊ธฐ์ˆ ์„ ๋ถ€๋‹ด ์—†์ด ์‹คํ—˜ํ•˜๊ณ  ๋” ๋‚˜์€ ํ•™์Šต ๊ฒฝํ—˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ชจ๋ธ ๊ฐ€์ค‘์น˜์™€ PyTorch MPS ๊ณ ์† ์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ ์ „์ฒด๋ฅผ Apache-2.0 ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Model Specifications

ํ•ญ๋ชฉ ์ƒ์„ธ ์‚ฌ์–‘
Audio Encoder google/embeddinggemma-2 (Audio Tower, 16kHz Mono, 128-Mel)
Acoustic Decoder Lightweight Korean Acoustic Reader
Vocabulary 25,000 ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ ๋ฐ ์Œ์ ˆ ์–ดํœ˜์ง‘
Language Rescoring KenLM 3-Gram ํ•œ๊ตญ์–ด ์–ธ์–ด ๋ชจ๋ธ
Supported Backends PyTorch MPS (bfloat16), CUDA / CPU
Training Data AI Hub ํ•œ๊ตญ์–ด ๊ฐ•์˜ ์Œ์„ฑ ๋ฐ์ดํ„ฐ (์•ฝ 300GB)
License Apache-2.0

Overview

Notesoop-STT-Ko-v1์€ Google์˜ embeddinggemma-2 ์˜ค๋””์˜ค ์ธ์ฝ”๋”๊ฐ€ ์ถ”์ถœํ•œ ๊ณ ๋ฐ€๋„ ์Œํ–ฅ ํ‘œํ˜„์„ ๋ฐ”ํƒ•์œผ๋กœ, ์˜จ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ์—์„œ ์ง€์—ฐ ์—†์ด ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์ ํ™”๋œ ๊ฒฝ๋Ÿ‰ ์Œํ–ฅ ๋ฆฌ๋”๋ฅผ ํ†ตํ•ด ํ•œ๊ตญ์–ด ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๊ณ ์† ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

  • Google EmbeddingGemma-2 ์˜ค๋””์˜ค ์ธ์ฝ”๋” ๊ธฐ๋ฐ˜: ์‚ฌ์ „ ํ•™์Šต๋œ ๋Œ€๊ทœ๋ชจ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์˜ค๋””์˜ค ์ธ์ฝ”๋”์˜ ํ’๋ถ€ํ•œ ์Œํ–ฅ ํŠน์ง•์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐฐ๊ฒฝ ์†Œ์Œ๊ณผ ๋‹ค์–‘ํ•œ ์Œ์งˆ ์กฐ๊ฑด์—์„œ๋„ ๊ฒฌ๊ณ ํ•œ ์Œํ–ฅ ํ‘œํ˜„์„ ํฌ์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ดˆ๊ฒฝ๋Ÿ‰ ์˜จ๋””๋ฐ”์ด์Šค ๋ฆฌ๋”: ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์ด ์ œํ•œ๋œ ๋ชจ๋ฐ”์ผ ๋ฐ ๋žฉํ†ฑ ๋””๋ฐ”์ด์Šค์—์„œ๋„ ๋ถ€๋‹ด ์—†์ด ๊ตฌ๋™๋  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ๋ผ๋ฏธํ„ฐ ํฌ๊ธฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Apple Silicon MPS ๊ณ ์† ๊ฐ€์†: PyTorch MPS ํ™˜๊ฒฝ์—์„œ ๋ถˆํ•„์š”ํ•œ ํ˜•๋ณ€ํ™˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ธ bfloat16 ํ…์„œ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ๋Œ€๋น„ ์•ฝ 40๋ฐฐ์†์˜ ๋น ๋ฅธ ์ถ”๋ก  ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • GPU-CPU ๋น„๋™๊ธฐ ํŒŒ์ดํ”„๋ผ์ด๋‹: GPU๊ฐ€ ์˜ค๋””์˜ค ์ฒญํฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ CPU ์Šค๋ ˆ๋“œ์—์„œ ์–ธ์–ด ๋ชจ๋ธ ๋น” ์„œ์น˜์™€ ํ…์ŠคํŠธ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ฒด๊ฐ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

Data

Notesoop-STT-Ko-v1์€ ์‹ค์ œ ํ•™์Šต ๋ฐ ๊ต์œก ํ˜„์žฅ์˜ ์Œํ–ฅยท์–ธ์–ด์  ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด AI Hub์˜ ์•ฝ 300GB ๋ถ„๋Ÿ‰ ํ•œ๊ตญ์–ด ๊ฐ•์˜ ์Œ์„ฑ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์‹ค์ „ ๊ฐ•์˜ ๋„๋ฉ”์ธ ํŠนํ™”: ์•ฝ 300GB ๊ทœ๋ชจ์˜ ๋ฐฉ๋Œ€ํ•œ ์‹ค์ œ ๊ฐ•์˜ ์Œ์„ฑ์„ ํ•™์Šต์— ํ™œ์šฉํ•˜์—ฌ, ์ •์ œ๋œ ๋‚ญ๋…์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ•์˜ ํ˜„์žฅ์˜ ๋ฐœํ™” ์†๋„ ๋ณ€ํ™”, ์„ค๋ช…์กฐ ์–ดํˆฌ, ํ•™์ˆ ยท์ „๊ณต ์šฉ์–ด, ์žฅ์‹œ๊ฐ„ ์—ฐ์† ๋ฐœํ™” ํ™˜๊ฒฝ์—์„œ๋„ ์•ˆ์ •์ ์ธ ์ธ์‹ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜•ํƒœ์†Œยท์Œ์ ˆ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ† ํฌ๋‚˜์ด์ง•: ํ•œ๊ตญ์–ด ๊ต์ฐฉ์–ด ํŠน์„ฑ์— ๋งž์ถฐ ์ž์ฃผ ์“ฐ์ด๋Š” ํ‘œ๋ฉด ํ˜•ํƒœ์†Œ(Surface Morpheme)์™€ ์Œ์ ˆ ๋‹จ์œ„ Fallback์„ ๊ฒฐํ•ฉํ•œ 25,000๊ฐœ ์–ดํœ˜ ์‚ฌ์ „์„ ๊ตฌ์ถ•ํ•˜์—ฌ ๋ฏธ๋“ฑ๋ก ์–ดํœ˜(OOV) ์†์‹ค์„ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

Benchmark

Notesoop-STT-Ko-v1์˜ ์„ฑ๋Šฅ์„ (1) ๊ณต์ธ ํ‘œ์ค€ ํ•œ๊ตญ์–ด ํ•™์ˆ  ๋ฒค์น˜๋งˆํฌ์™€ (2) ์‹ค์ œ ๋Œ€ํ•™ ์ „๊ณต ๊ฐ•์˜ ๋กฑํผ ์Œ์„ฑ ๋‘ ๊ฐ€์ง€ ํ™˜๊ฒฝ์—์„œ ์‹ค์ธกํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. (Apple M1 Pro 16GB ๊ธฐ์ค€)

1. ํ‘œ์ค€ ํ•œ๊ตญ์–ด STT ๋ฒค์น˜๋งˆํฌ (Zeroth-Korean Test Set, 457๊ฐœ ๋ฌธ์žฅ)

ํ•œ๊ตญ์–ด ์Œ์„ฑ์ธ์‹ ํ•™์ˆ  ํ‰๊ฐ€์˜ ๊ณต์‹ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ์…‹์ธ Bingsu/zeroth-korean ํ…Œ์ŠคํŠธ ๋ถ„ํ• (์ด 457๊ฐœ ๋ฐœํ™” ๋ฌธ์žฅ, 1์‹œ๊ฐ„ 11๋ถ„ 27์ดˆ ๋ถ„๋Ÿ‰)์— ๋Œ€ํ•œ ์ „์ˆ˜ ํ‰๊ฐ€ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์…‹ ์ด ์˜ค๋””์˜ค ๊ธธ์ด ์ „์ฒด ์ „์‚ฌ ์‹œ๊ฐ„ โฑ๏ธ ์ฒด๊ฐ ์†๋„ โšก RTF ์ดˆ๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰ (Throughput) ์Œ์ ˆ ์˜ค์ฐจ์œจ (CER) ๐ŸŽฏ ๋‹จ์–ด ์˜ค์ฐจ์œจ (WER)
Zeroth-Korean Test (457๋ฌธ์žฅ) 1์‹œ๊ฐ„ 11๋ถ„ (4,287์ดˆ) 2๋ถ„ 30์ดˆ (150.7์ดˆ) 28.45๋ฐฐ์† 0.0352 3.03 ๋ฌธ์žฅ/์ดˆ 16.21% 45.40%
  • ์ดˆ๋‹น 3๋ฌธ์žฅ ์ด์ƒ์˜ ์ดˆ๊ณ ์† ์ „์‚ฌ: 1์‹œ๊ฐ„ 11๋ถ„ ๋ถ„๋Ÿ‰์˜ ๋ฐฉ๋Œ€ํ•œ ์˜ค๋””์˜ค๋ฅผ ๋‹จ 2๋ถ„ 30์ดˆ ๋งŒ์— ์™„์ฃผํ•˜๋ฉฐ, ๋‚ญ๋…์ฒด ์Œ์„ฑ ํ™˜๊ฒฝ์—์„œ **16.21%์˜ ์ค€์ˆ˜ํ•œ ์Œ์ ˆ ์˜ค์ฐจ์œจ(CER)**์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์ œ ์ „์‚ฌ ์ƒ˜ํ”Œ ์˜ˆ์‹œ:
    • ์ •๋‹ต (REF): "ํ•œ ์ž”์˜ ์ปคํ”ผ๊ฐ€ ์†Œ๋น„์ž์—๊ฒŒ ์ „ํ•ด์ง€๊ธฐ ์œ„ํ•ด์„  ์—ฌ๋Ÿฌ ์ฐจ๋ก€์˜ ๊ณต์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค"
    • ์˜ˆ์ธก (HYP): "ํ•œ ์ž”์˜ ์ปคํ”ผ๊ฐ€ ์†Œ๋น„์ž์—๊ฒŒ ์ „ํ•ด์ง€๊ธฐ ์œ„ํ•ด์„  ์—ฌ๋Ÿฌ ์ฐจ๋ก€์˜ ๊ณต์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค" (CER: 0.00%)
    • ์ •๋‹ต (REF): "๋˜ํ•œ ๋ฐ• ์ „ ๋Œ€ํ†ต๋ น ์ธก์€ ์•ž์œผ๋กœ ๊ฒ€์ฐฐ ์ˆ˜์‚ฌ์™€ ๊ด€๋ จํ•ด ์ˆ˜์‚ฌ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ž…์žฅ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€ํ˜ธ์ธ๋‹จ์˜ ํ™œ๋™ ์ƒํ™ฉ ๋“ฑ๋„ ์†Œ์ƒํ•˜๊ฒŒ ๊ณต๊ฐœํ•œ๋‹ค๋Š” ๋ฐฉ์นจ์ด๋‹ค"
    • ์˜ˆ์ธก (HYP): "๋˜ํ•œ ๋ฐ• ์ „ ๋Œ€ํ†ต๋ น ์ฃผ๋ณ€์— ์•ž์œผ๋กœ ๊ฒ€์ฐฐ์ˆ˜์‚ฌ์™€ ๊ด€๋ จ๋œ ์ˆ˜์‚ฌ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ž…์žฅ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€ํ˜ธ์ธ๋‹จ์˜ ํ™œ๋™ ์ƒํ™ฉ ๋“ฑ๋„ ์†Œ์ƒํ•˜๊ฒŒ ๊ณต๊ฐœํ•œ๋‹ค๋Š” ๋ฐฉ์‹์ด๋‹ค" (CER: 10.39%)

2. ์‹ค์ „ ์ „๊ณต ๊ฐ•์˜ ๋…น์Œ (41๋ถ„ 43์ดˆ, Field Test)

๋Œ€ํ•™ ๊ฐ•์˜ ํ™˜๊ฒฝ(๋ฐฐ๊ฒฝ ์žก์Œ, ๋ฐ˜ํ–ฅ, ๋ง๋”๋“ฌ ๋“ฑ์ด ํฌํ•จ๋œ ์‹ค์ œ 41๋ถ„ 43์ดˆ ๋…น์Œ ์Œ์„ฑ)์„ Apple M1 Pro (16GB RAM) ๋ชจ๋ธ์—์„œ ์ง์ ‘ ๊ตฌ๋™ํ•˜๋ฉฐ ๊ธ€๋กœ๋ฒŒ ํ‘œ์ค€ ASR ๋ชจ๋ธ๋“ค๊ณผ ๋น„๊ต ์ธก์ •ํ•œ ์‹ค์ธก ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

Model Backend / Device Processing Time Speedup RTF CER (%) ๐ŸŽฏ WER (%) Host RAM GPU Memory (VRAM) ๐Ÿ–ฅ๏ธ
Notesoop-STT-Ko-v1 PyTorch MPS (bf16) 1๋ถ„ 2์ดˆ (62.7s) 39.9x 0.0251 22.46 39.25 1,076 MB 1,537 MB
Whisper-medium MPS 4๋ถ„ 11์ดˆ (251.5s) 10.0x 0.1005 26.68 45.82 1,050 MB 3,467 MB
Whisper-large-v3 MPS 11๋ถ„ 45์ดˆ (704.9s) 3.6x 0.2816 25.55 42.10 1,243 MB 6,325 MB
  • Whisper-large-v3 ๋Œ€๋น„ 11.2๋ฐฐ ๊ณ ์† & ๋” ์šฐ์ˆ˜ํ•œ ์ •ํ™•๋„: Whisper-large-v3(11๋ถ„ 45์ดˆ, CER 25.55%) ๋Œ€๋น„ **์•ฝ 11.2๋ฐฐ ๋น ๋ฅธ ์†๋„(1๋ถ„ 2์ดˆ)**์™€ **๋” ๋‚ฎ์€ ์Œ์ ˆ ์˜ค์ฐจ์œจ(CER 22.46%, 3.09%p ํ–ฅ์ƒ)**์„ ๋™์‹œ์— ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • 1/4 ์ˆ˜์ค€์˜ ๊ฒฝ๋Ÿ‰ VRAM (1.2~1.5GB): Whisper-large-v3(6.3GB)์˜ 1/4๋„ ์•ˆ ๋˜๋Š” ๊ฐ€๋ฒผ์šด ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ ๋•๋ถ„์—, ๊ธฐ๋ณธํ˜• ๋งฅ๋ถ ์—์–ด/ํ”„๋กœ(8GB/16GB)์—์„œ๋„ ๋ฐœ์—ด๊ณผ ํŒฌ ์†Œ์Œ ์—†์ด ๋‹ค๋ฅธ ํ•™์Šต ์•ฑ๊ณผ ๋™์‹œ์— ์พŒ์ ํ•˜๊ฒŒ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค.
  • ๋น„์ž๊ธฐํšŒ๊ท€(Non-Autoregressive) ๊ตฌ์กฐ์˜ ๊ฐ•์ : ๋ฌธ์žฅ์„ ํ•œ ํ† ํฐ์”ฉ ์ˆœ์ฐจ ์ƒ์„ฑํ•˜๋Š” Whisper์™€ ๋‹ฌ๋ฆฌ, ๋น„์ž๊ธฐํšŒ๊ท€ ๊ตฌ์กฐ๋กœ ์˜ค๋””์˜ค ์ „์ฒด ์Œํ–ฅ ํŠน์ง•์„ ๋‹จ์ผ ํŒจ์Šค($O(T)$)๋กœ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜์—ฌ ์žฅ์‹œ๊ฐ„ ์Œ์„ฑ์—์„œ๋„ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

Quickstart

1. Installation

macOS (Apple Silicon M1 ์ด์ƒ ๊ถŒ์žฅ) ๋ฐ Python 3.10+ ํ™˜๊ฒฝ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋””์˜ค ๋””์ฝ”๋”ฉ์„ ์œ„ํ•ด ์‹œ์Šคํ…œ์— ffmpeg๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(brew install ffmpeg).

git clone https://huggingface.co/Phsoft-ai/Notesoop-STT-Ko-v1
cd Notesoop-STT-Ko-v1

# ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ์„ค์น˜
pip install -r requirements.txt

# KenLM 3-Gram ๋””์ฝ”๋” ์„ค์น˜
pip install https://github.com/kpu/kenlm/archive/master.zip

2. CLI Usage

transcribe.py๋ฅผ ํ†ตํ•ด ๋‹จ์ผ ๋ช…๋ น์–ด๋กœ ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์ „์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (.wav, .m4a, .mp3, .flac ์ง€์›)

# ๊ธฐ๋ณธ ์‹คํ–‰ (PyTorch MPS ๋ฐฑ์—”๋“œ, batch_size=4)
python transcribe.py sample_audio.wav

# ์žฅ์‹œ๊ฐ„ ๊ฐ•์˜ ์˜ค๋””์˜ค ์ „์‚ฌ ๋ฐ ๊ฒฐ๊ณผ ํŒŒ์ผ ์ €์žฅ
python transcribe.py my_lecture.m4a --batch-size 4 --chunk-sec 16.0 --output transcript.txt

# KenLM ๋น” ์„œ์น˜ ๋น„ํ™œ์„ฑํ™” (Greedy CTC ๋””์ฝ”๋”ฉ)
python transcribe.py sample_audio.wav --no-kenlm

3. Python API

from run_inference import EmbeddingGemmaSTT

stt = EmbeddingGemmaSTT(
    device="mps",
    use_kenlm=True,
    lm_alpha=0.12,
    lm_beta=0.40,
)

transcript, rtf = stt.transcribe(
    "sample_audio.wav",
    chunk_sec=16.0,
    overlap_sec=1.0,
    batch_size=4,
)

print(f"RTF: {rtf:.4f} ({1/rtf:.1f}x real-time)")
print(transcript)

Repository Structure

Notesoop-STT-Ko-v1/
โ”œโ”€โ”€ README.md                        # Model Card ๋ฐ ์‚ฌ์šฉ ์•ˆ๋‚ด
โ”œโ”€โ”€ checkpoints/
โ”‚   โ””โ”€โ”€ best_reader_inference.pt     # ์Œํ–ฅ ๋ฆฌ๋” ๋ชจ๋ธ ๊ฐ€์ค‘์น˜ (137MB)
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ vocab/
โ”‚       โ”œโ”€โ”€ vocab_25k.json           # 25,000 ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ/์Œ์ ˆ ์–ดํœ˜ ์‚ฌ์ „
โ”‚       โ”œโ”€โ”€ vector_bank_25k.pt       # ์–ดํœ˜ ๋งค์นญ ๋ฒกํ„ฐ ๋ฑ…ํฌ
โ”‚       โ””โ”€โ”€ korean_lm.bin            # KenLM 3-Gram ํ•œ๊ตญ์–ด ์–ธ์–ด ๋ชจ๋ธ (82.7MB)
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ model.py                     # ์Œํ–ฅ ๋ฆฌ๋” ๋ชจ๋ธ ๊ตฌํ˜„
โ”‚   โ”œโ”€โ”€ dataset.py                   # ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ ํ† ํฌ๋‚˜์ด์ € ๋ฐ ์ •๊ทœํ™”
โ”‚   โ”œโ”€โ”€ decoder.py                   # KenLM ๋น” ์„œ์น˜ ๋””์ฝ”๋” ๋ž˜ํผ
โ”‚   โ””โ”€โ”€ step2_extract_features.py    # EmbeddingGemma-2 ์˜ค๋””์˜ค ํŠน์ง• ์ถ”์ถœ๊ธฐ
โ”œโ”€โ”€ run_inference.py                 # ์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ Python API
โ”œโ”€โ”€ transcribe.py                    # CLI ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ
โ””โ”€โ”€ sample_audio.wav                 # ํ…Œ์ŠคํŠธ์šฉ ์ƒ˜ํ”Œ ์˜ค๋””์˜ค

License & Citation

๋ณธ ๋ชจ๋ธ๊ณผ ์ฝ”๋“œ๋Š” Apache License 2.0 ํ•˜์— ๊ณต๊ฐœ๋˜์–ด ์—ฐ๊ตฌ ๋ฐ ์ƒ์—…์  ์šฉ๋„๋กœ ์ž์œ ๋กญ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@misc{notesoop2026sttkov1,
  author = {Notesoop AI Team},
  title = {Notesoop-STT-Ko-v1: Lightweight Korean On-Device Speech Recognition},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/Phsoft-ai/Notesoop-STT-Ko-v1}},
  note = {Apple Silicon MPS Accelerated Korean ASR}
}

Notesoop (๋…ธํŠธ์ˆฒ) โ€” ํ•™์Šต์˜ ๋น„ํšจ์œจ์„ ์ค„์—ฌ, ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ ๋ฐฐ์›€์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
์Œ์„ฑ ๊ธฐ๋ก๊ณผ PDF ํ•„๊ธฐ ์—ฐ๋™, ํ•ต์‹ฌ ์ •๋ฆฌ, ๋ณต์Šต ๋ฌธ์ œ ์ƒ์„ฑ๊นŒ์ง€ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ๋œ ํ•™์Šต ํ™˜๊ฒฝ์„ ๋…ธํŠธ์ˆฒ ์•ฑ์—์„œ ๋งŒ๋‚˜๋ณด์„ธ์š”.

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

Space using Phsoft-ai/Notesoop-STT-Ko-v1 1