ํต์ฌ ์์
- Home Assistant Assist๋ ๋ชจ๋ ๊ฒ์ ์ฐ๊ฒฐํ๋ ๋ก์ปฌ ์์ฑ ํ์ดํ๋ผ์ธ์ ๋๋ค
- Whisper๋ ๋ก์ปฌ์์ ์์ฑโํ ์คํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ ํ๋/์๋/ํ๋์จ์ด ๊ท ํ์ ๋ง๋ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ ํํ์ญ์์ค
- Piper๋ ์์ฐ์ค๋ฌ์ด ์์ฑ์ผ๋ก ๋ก์ปฌ์์ ํ ์คํธโ์์ฑ์ ์ฒ๋ฆฌํฉ๋๋ค
- Wyoming ํ๋กํ ์ฝ์ด Assist๋ฅผ Whisper ๋ฐ Piper ์๋น์ค์ ์ฐ๊ฒฐํฉ๋๋ค
- ํธ์ฆํ๋ฆฌ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ํ ์จ์ดํฌ ์๋ ์์ง(์: openWakeWord)์ ์ถ๊ฐํ์ญ์์ค
- ์ ํ ์ฌํญ: ๊ณ ์ ๋ ์๋ ๋์ ์์ฐ์ด ์ดํด๋ฅผ ์ํด ๋ก์ปฌ LLM์ ๋ํ ์์ด์ ํธ๋ก ์ค์ ํ์ญ์์ค
์์ ๋ก์ปฌ ์์ฑ ์คํ
๋ก์ปฌ ์์ฑ ์ด์์คํดํธ๋ ์ง์ ์์ ํ ํ๋์จ์ด์์ ๋ค ๊ฐ์ง ์ญํ ์ ์ํํฉ๋๋ค. ์บก์ฒ ๋ฐ ๋ณํ(Whisper), ์ดํด(Assist ์๋ ๋๋ ๋ก์ปฌ LLM), ์๋ต(Piper), ํธ๋ฆฌ๊ฑฐ(์จ์ดํฌ ์๋)์ ๋๋ค. ๊ฐ๊ฐ์ ์คํ๋ผ์ธ์ผ๋ก ์คํ๋๋ฉฐ Wyoming ํ๋กํ ์ฝ์ด ์ด๋ค์ ์ฐ๊ฒฐํฉ๋๋ค.
| ๊ตฌ์ฑ ์์ | ์ญํ | ๋ก์ปฌ? | ๋น๊ณ |
|---|---|---|---|
| Assist | ํ์ดํ๋ผ์ธ + ์๋ | ์ | Home Assistant์ ๋ด์ฅ๋จ |
| Whisper | ์์ฑโํ ์คํธ | ์ | ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์ ํ๋/์๋ ๊ฒฐ์ |
| Piper | ํ ์คํธโ์์ฑ | ์ | ์์ฐ์ค๋ฌ์ด ๋ก์ปฌ ์์ฑ |
| ์จ์ดํฌ ์๋ | ํธ์ฆํ๋ฆฌ ํธ๋ฆฌ๊ฑฐ | ์ | ์: openWakeWord |
| ๋ก์ปฌ LLM | ์ดํด(์ ํ) | ์ | Ollama๋ฅผ ํตํด ๋ํ ์์ด์ ํธ๋ก |
Home Assistant Assist
Assist๋ ์ค๋์ค๋ฅผ ์์ฑโํ ์คํธ, ์์ด์ ํธ, ํ ์คํธโ์์ฑ์ผ๋ก ๋ผ์ฐํ ํ๋ ๋ด์ฅ ์์ฑ ํ์ดํ๋ผ์ธ์ ๋๋ค. ์ค์ โ ์์ฑ ์ด์์คํดํธ์์ ๊ตฌ์ฑํฉ๋๋ค.
- Assist๋ ์ผ๋ฐ ๋ช ๋ น์ ๋ํด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ด์ฅ ์๋(LLM ์์)๋ก ๋์ํฉ๋๋ค.
- STT ์์ง(Whisper), TTS ์์ง(Piper), ๋ํ ์์ด์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
- ๋น ๋ฅธ ์๋ ์ ์ฉ ์ด์์คํดํธ์ LLM ์ด์์คํดํธ๋ฅผ ๋ณ๋๋ก ์ํ๋ค๋ฉด ์ฌ๋ฌ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ญ์์ค.
๋ก์ปฌ ์์ฑโํ ์คํธ์ฉ Whisper
Whisper๋ ๋ก์ปฌ์์ ์์ฑ์ ๋ณํํฉ๋๋ค. ๋ ํฐ Whisper ๋ชจ๋ธ์ด ๋ ์ ํํ์ง๋ง ๋ ๋ง์ ์ฐ์ฐ์ด ํ์ํฉ๋๋ค. Whisper ์ ๋์จ(faster-whisper)์ผ๋ก ์ถ๊ฐํ๊ณ Wyoming์ ํตํด ์ฐ๊ฒฐํ์ญ์์ค.
- Whisper๋ tiny๋ถํฐ large๊น์ง ํฌ๊ธฐ๊ฐ ์์ต๋๋ค. ๋ ์์ผ๋ฉด ๋ ๋น ๋ฅด๊ณ ๋ ํฌ๋ฉด ๋ ์ ํํฉ๋๋ค.
- STT์ ์ง์ค๋ ์ค์ (๋ชจ๋ธ, ํ๋์จ์ด, ์ ํ๋)์ ๋ก์ปฌ Whisper + Home Assistant๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- Whisper๋ ๋ค๊ตญ์ด๋ฅผ ์ง์ํ๋ฏ๋ก ๋ค๋ฅธ ์ธ์ด ๋ช ๋ น๋ ํด๋ผ์ฐ๋ ์๋น์ค ์์ด ๋ณํ๋ฉ๋๋ค.
๋ก์ปฌ ํ ์คํธโ์์ฑ์ฉ Piper
Piper๋ ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฆฌ๋ ์์ฑ์ผ๋ก ๋ก์ปฌ์์ ์๋ต์ ์์ฑํ๋ฉฐ ์ ์ฌ์ ํ๋์จ์ด์์๋ ์ค์๊ฐ ์๋ต์ด ๊ฐ๋ฅํ ๋งํผ ๋น ๋ฆ ๋๋ค. Piper ์ ๋์จ์ผ๋ก ์ถ๊ฐํ๊ณ ์์ฑ์ ์ ํํ์ญ์์ค.
- Piper๋ ์ฌ๋ฌ ์ธ์ด์ ์์ฑ์ ์ ๊ณตํฉ๋๋ค. ํ์ดํ๋ผ์ธ๋น ํ๋๋ฅผ ์ ํํ์ญ์์ค.
- Raspberry Pi์์๋ ์ผ๋ฐ์ ์ธ ์๋ต ๊ธธ์ด์ ์ ๋์ํฉ๋๋ค.
- ์ค๋์ค๊ฐ ์ด๋๋ก๋ ์ ์ก๋์ง ์์ต๋๋ค. ์์ฑ์ด ์ง์ ์์ ํ ๊ธฐ๊ธฐ์์ ํฉ์ฑ๋ฉ๋๋ค.
Wyoming ํ๋กํ ์ฝ
Wyoming๋ Home Assistant๊ฐ Assist๋ฅผ Whisper ๋ฐ Piper์ ๊ฐ์ ๋ก์ปฌ ์์ฑ ์๋น์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ ๋๋ค. ์์ฑ ์๋น์ค๊ฐ ๋ณ๋ ์ ๋์จ ๋๋ ๋ณ๋ ๊ธฐ๊ธฐ์์ ์คํ๋ ์ ์๊ฒ ํฉ๋๋ค.
- ๊ฐ ์๋น์ค(Whisper, Piper, ์จ์ดํฌ ์๋)๋ Wyoming ์๋ํฌ์ธํธ๋ก ์คํ๋ฉ๋๋ค.
- Assist๋ Wyoming ํตํฉ์ ํตํด ์ด๋ค์ ๊ฐ์งํ๊ณ ์ฌ์ฉํฉ๋๋ค.
- ์ด ๋ชจ๋์ฑ์ ํ์ํ ๊ฒฝ์ฐ Whisper๋ฅผ ๋ ๊ฐ๋ ฅํ ๊ธฐ๊ธฐ๋ก ์คํ๋ก๋ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
LLM ๋๋ ์ถ๊ฐ
๊ณ ์ ๋ ์๋ ๋์ ์์ฐ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋ก์ปฌ LLM์ ๋ํ ์์ด์ ํธ๋ก ์ค์ ํ์ญ์์ค. ์ ํ ์ฌํญ์ด์ง๋ง ์ ์ฐํ ํํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ๋จผ์ Ollama๋ฅผ Home Assistant์ ์ฐ๊ฒฐํ์ญ์์ค โ Ollama ํตํฉ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- ์์ฑ ์๋ต์ด ๋น ๋ฅด๊ฒ ์ ์ง๋๋๋ก function-calling์ด ๊ฐ๋ฅํ ์ํ ๋ชจ๋ธ์ ์ฌ์ฉํ์ญ์์ค.
- ์ ์ฒด ๊ทธ๋ฆผ์ ๋ก์ปฌ LLM์ผ๋ก ์ค๋งํธ ํ ์ด์ํ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
ํ๋์จ์ด ์๊ตฌ ์ฌํญ
๋ฏธ๋ PC๋ Assist, Whisper, Piper, ์ํ LLM์ ํธ์ํ๊ฒ ์คํํฉ๋๋ค. Raspberry Pi๋ ์๋ ์ ์ฉ ์์ฑ์ ์ฒ๋ฆฌํ์ง๋ง ํฐ Whisper ๋ชจ๋ธ๊ณผ LLM ์ถ๋ก ์๋ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ๋ง์ดํฌ ํ๋์จ์ด(์์ฑ ์์ฑ)๊ฐ ์ง ์ ์ฒด์ ์ค๋์ค๋ฅผ ์บก์ฒํฉ๋๋ค.
- LLM ๋๋์ ๋ ํฐ Whisper ๋ชจ๋ธ์ ์ํ๋ค๋ฉด ๋ฏธ๋ PC๋ฅผ ์ฌ์ฉํ์ญ์์ค โ ๋ก์ปฌ ์ค๋งํธ ํ์ ์ํ ์ต๊ณ ์ ํ๋์จ์ด๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
- ๊ฐ๋ฒผ์ด ์๋ ์ ์ฉ ์ด์์คํดํธ์๋ Pi๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๋ฐฉ๋ณ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ํด ์์ฑ ์์ฑ ํ๋์จ์ด(๋ง์ดํฌ + ์คํผ์ปค ์๋ํฌ์ธํธ)๋ฅผ ์ถ๊ฐํ์ญ์์ค.
- ๋ก์ปฌ vs ํด๋ผ์ฐ๋ ์์ฑ ์ด์์คํดํธ์์ ํธ๋ ์ด๋์คํ๋ฅผ ๋น๊ตํ์ญ์์ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๋ก์ปฌ ์์ฑ ์ด์์คํดํธ๊ฐ Alexa๋ฅผ ์์ ํ ๋์ฒดํ ์ ์์ต๋๊น?
์ค๋งํธ ํ ์ ์ด์ ๋ง์ ๋ฃจํด์ ๋ํด์๋ ์์ ๋๋ค. Assist์ Whisper, Piper, ๋ก์ปฌ LLM์ ๋น๊ณต๊ฐ๋ก ์์ฐ์ด๋ก ๊ธฐ๊ธฐ ์ ์ด์ ์๋ต์ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ฌ Alexa ์คํฌ๊ณผ ํด๋ผ์ฐ๋ ์ผํ ๊ธฐ๋ฅ์ ๋ณต์ ํ์ง๋ ์์ง๋ง ํต์ฌ์ ์ธ ํ ์ ์ด ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋น๊ณต๊ฐ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋ก์ปฌ ์์ฑ ์ด์์คํดํธ๊ฐ ์คํ๋ผ์ธ์ผ๋ก ๋์ํฉ๋๊น?
์. ์์ฑโํ ์คํธ(Whisper), ํ ์คํธโ์์ฑ(Piper), ์๋ ์ฒ๋ฆฌ, ์ ํ์ ๋ก์ปฌ LLM ๋ชจ๋ ์ง์ ์์ ํ ํ๋์จ์ด์์ ์คํ๋๋ฏ๋ก ์ธํฐ๋ท ์์ด ๋์ํฉ๋๋ค. ์ง ๋ฐ์์์ ์๊ฒฉ ์ ๊ทผ๋ง ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
๋ก์ปฌ ์์ฑ ์ธ์์ด ์ผ๋ง๋ ์ ํํฉ๋๊น?
Whisper ๋ชจ๋ธ ํฌ๊ธฐ์ ๋ง์ดํฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ ํฐ Whisper ๋ชจ๋ธ์ด ๋ ์ ํํ์ง๋ง ๋ ๋๋ฆฝ๋๋ค. ๋ฏธ๋ PC์์ ์ค๊ฐ ํฌ๊ธฐ ๋ชจ๋ธ์ ํ ๋ช ๋ น์ ๋ํ ๊ท ํ์ด ์ข์ต๋๋ค. ํฌ๊ธฐ ์ ํ์ ๋ก์ปฌ Whisper ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๋ก์ปฌ ์์ฑ ์ด์์คํดํธ์ ์ด๋ค ํ๋์จ์ด๊ฐ ํ์ํฉ๋๊น?
์ ์ฒด ์คํ(LLM + ๋ ํฐ Whisper)์ ์ํ ๋ฏธ๋ PC ๋๋ ์๋ ์ ์ฉ ์ด์์คํดํธ๋ฅผ ์ํ Raspberry Pi, ๋ฐฉ๋ณ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ํ ๋ง์ดํฌ/์คํผ์ปค ์์ฑ ์์ฑ ํ๋์จ์ด๊ฐ ํ์ํฉ๋๋ค. GPU ๋๋ NPU๋ LLM๊ณผ ํฐ Whisper์ ์ง์ฐ ์๊ฐ์ ์ค์ ๋๋ค.
๋ง์ถค ์จ์ดํฌ ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น?
์. openWakeWord์ ๊ฐ์ ๋ก์ปฌ ์จ์ดํฌ ์๋ ์์ง์ ๋ง์ถค ์จ์ดํฌ ์๋๋ฅผ ์ง์ํ๋ฉฐ ์ง์ ์์ ํ ํ๋์จ์ด์์ ์คํ๋๋ฏ๋ก ํธ์ฆํ๋ฆฌ ํธ๋ฆฌ๊ฑฐ์ ํด๋ผ์ฐ๋๊ฐ ํ์ ์์ต๋๋ค.