
1. ํ ์ฃผ ๊ฐ์
์ด๋ฒ ์ฃผ๋ AI Core ๊ต์ก์ ๋ง์ง๋ง ์ฃผ๋ก, ๋ชฉ์์ผ์ ์ํด๋ฆฌ, ํ์ด ๋ฆฌ๋ทฐ ๋ฑ์ ํ๊ณ ์ ๊ธ์์ผ์ ์ผ์ ์ด ๋น์ด์์ด์ ๋ ์งง์๋ค
ํ ์คํธ์ ์ด๋ฏธ์ง ์์ฑ ๋ฐ LLM, ๋ํจ์ ๋ชจ๋ธ ํ์ธํ๋๊น์ง ๋ค๋ฃจ๋๋ฐ... ์์งํ ๋งํ์๋ฉด ์ ํ ๋ชป๋ฐ๋ผ๊ฐ๋ค
์.... ์๋ ์ ๋ง ์..... ๐
ํ๋ํ๋๋ฅผ ํ ์ฃผ์ฉ ๋ค๋ค๋ ๊ฐ์ ํ ๋ ๊น๋ง๊นํ ๋ด์ฉ๋ค์ 3์ผ์ ๋๋ ค๋ฐ์ผ๋ ์ด๋ฐ ์ค๋ฒ๋ทฐ ์ดํ๋ก๋ ๋ถ๋ช ๊ฐ์๋ฅผ ๋ดค๋๋ฐ ๊ธฐ์ต์ด ์๋ค
๊ทธ๋ฆฌ๊ณ ์์ผ๋ก AI Prodution ์ ๊ฐ์ดํ ํ์ ๊พธ๋ฆฌ๋ ํ ๋น๋ฉ๋ ๊ฐ์ด ์งํ๋์๋ค
์ ๋ฒ ์ฃผ์ ๋ฌ๋ฆฌ ์ด๋ฒ ์ฃผ์๋ ํนํ๋ ๊ณต๋ถ์ ์ง์ค์ ์ ๋๋ก ๋ชปํ๋๋ฐ ๊ตฌ์ธ๊ตฌํ๊ณผ ์์ผ๋ก ์ด๋ค ๊ฒ๋ค์ ์ค๋นํด์ผํ ์ง ๋ฑ๋ฑ ์ด๊ฒ์ ๊ฒ ๋๋ฌด ๋ณต์กํ๊ฒ ์์ฌ์์ด์ ์ ์ ์ด ์์๋ค
์ด์ฉ๋ค๋ณด๋ ๊ฐ์ฌํ๊ฒ๋ ์ ๋ง ์ค๋ ฅ์์ผ์ ๋ถ๋ค์ ํ์ผ๋ก ๋ต๊ฒ ๋์ด ๋๋ง ์ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค
์ฌ๋ฌ๋ชจ๋ก ๋๊ธฐ๋ถ์ฌ๊ฐ ๋ง์ด ๋๋ ํ ์ฃผ์๋ค
2. ์ด๋ฒ ์ฃผ ์ฃผ์ ๋ด์ฉ

์ ์ด๋ฒ ์ฃผ ๋ด์ฉ์ด์..? ์ฃ์กํ์ง๋ง ์์ต๋๋ค..ใ ใ
LLM์ ํ์ธํ๋ํ๋ ๊ฑด ์์ฒญ ๋ณต์กํ๊ณ ... ๋ํจ์ ๋ชจ๋ธ๋ ๋ง์ฐฌ๊ฐ์ง๊ณ ...
๊ณต๋ถ์ ๋ํด์ ์ ์ ๊ฑด ์๊ณ , ๋์ ์ด๋ฒ ์ฃผ์ ๋ค์๋ ๊ณ ๋ฏผ, ์๊ฐ์ ์ข ์ ์ด๋ณด์๋ค
์ด๋ฒ ์ฃผ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ๊ฐ์๋ฅผ ํตํด ์์ฑํ AI์ ๋ํด ๋ฐฐ์ฐ๊ธฐ ๋ณด๋ค๋ '๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์ ๋๋ก ๊ณต๋ถํ๋ค ๋ผ๋๊ฒ ์ด๋ค๊ฑธ๊น?' ๋ผ๋ ์๋ฌธ์ด ๊ฐ์ฅ ๋ง์ด ๋ค์๋ค
๋ ธ์ ์ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ํ ์คํธ๋ก ์ ๋ฆฌํ๋ ๊ฒ?
์๋๋ฉด ๋ธ๋ก๊ทธ์ ๊ธ๋ก ์ ๋ฆฌํด์ ์ฌ๋ฆฌ๋ ๊ฒ?
๋ชจ๋ฅด๋ ๋ถ๋ถ๋ค์ ์ฐพ์๋ณด๋ฉด์ ์ฌ๋ฌ ์๋ฃ๋ค์ ํตํด ์ดํดํ๋ ๊ฒ?
๋ฌผ๋ก ์ ๋ฆฌํ๋ ๊ณผ์ ์์ ๋ด ๊ฒ์ผ๋ก ์ฒดํ๋๋ ๋ถ๋ถ๋ ์์ง๋ง ์ด๊ฒ ๋๋ ๊ฐ์ฅ ์ ๋ง๋ ๋ฐฉ๋ฒ์ธ๊ฐ?
AI Core ๊ธฐ๊ฐ ๋์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์ฐ๊ณ ์๋ค๊ณ ์ฒด๊ฐํ ์ ์ด ๋จ ํ ๋ฒ์ด์๋๋ฐ ๊ทธ๊ฒ ๋ฐ๋ก ์ ๋ฒ ์ฃผ ํ ์คํธ ๋ถ๋ฅ ๋ํ์ ์ฐธ๊ฐํ๋ฉด์ ์ด๊ฒ ์ ๊ฒ ์๋ํด๋ดค์ ๋์ด๋ค
์ง์ ํด๋ดค์ ๋ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์๊ณ , ์ด๊ฑธ ํตํด ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ์๊ฒ ๋๊ณ , AI๋ ์๋์๊ฐ๋ ์ด์ํ ์ฝ๋ ์๋ ค์ฃผ๋๋ฐ ์ ์์ ์ผ๋ก ๋์๊ฐ๋ ์์ ๊ฐ ์ด๋ค ๊ฒ์ธ์ง ์ฐพ๊ฑฐ๋ AI ๋ฌ๋ฌ ๋ณถ์์ ๋ฝ์๋ด๋ ๋ฑ...
์๊ฐ ์์ ์ ์ฝ์ผ๋ก ๋ ๋ง์ ๊ฑธ ํด๋ณด์ง๋ ๋ชปํ์ผ๋ ๋ถ๋ช ์ง๋ฌธ์ ๋์ง๊ณ ๋ ํ๊ณ ๋ค ๋ถ๋ถ๋ค์ด ์ ๋ง ๋ง์๋ค
์ด๋ก ์ด๋ ์ฝ๋ ๋ถ๋ถ์ด๋ ๋ชจ๋ฅด๋ ๋ถ๋ถ๋ค์ด ๋์ณ๋ฌ์ผ๋๊น
์ฝ๋์์ ์ ์ด๊ฑธ ์ด๋ ๊ฒ ์ฌ์ฉํ์ง? ๋ผ๋ ์๋ฌธ์ด ๋ค๊ณ ๊ทธ๊ฑธ ๋ฐ๋ผ๊ฐ๋ค๋ณด๋ฉด ์ด๋ก ์ ๋ฟ๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค
์์ฐฌ๋์ด ๋ฌด์ธ๊ฐ๋ฅผ ๊ณต๋ถํ ๋ ๊ฐ์๋ ์ฑ ์ ์ ๋ ๋ณด์ง ์๋๋ค๊ณ ํ์ ๋ถ๋ถ๋ค์ด ์ด๋์ ๋ ๊ณต๊ฐ์ด ๊ฐ๋ ๊ฒ ๊ฐ๋ค
์์ฆ SwiftUI ๋ ํ์ผ๋ก ๊ณต๋ถ ์ค์ด์ ๋ฐ ์ฐธ ์ข์ ์์์ด๋ค
AI๋ ํฐํคํ์นด ํ์๋ฉด์ ๊ณต๋ถํ๋ ๋ฐฉ๋ฒ์ด ํจ์ฌ ๋ ์ข๋ค๊ณ ํ์ ๊ฒ ๊ธฐ์ต์ด ๋๋ค
'SwiftUI ๋ ํ์ผ๋ก ๊ธฐ๋ณธ๊ธฐ ์ตํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
์ฝ๋๋ก ์ ๋น๋ค์ ๋ฌด์ฐ๋ฆ ๋๋ค! https://github.com/Daco2020 instagram.com/ki.un._.chan/
daco2020.tistory.com
๊ทธ๋ผ ์ ๋ฒ ์ฃผ์ ์ด๋ฒ ์ฃผ๋ฅผ ๋น๊ตํด๋ณด์
์ด๋ฒ ์ฃผ (๊ฐ์, ๊ณผ์ )
- ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ง์ค ์๋จ
- ๋ณต์กํ๊ณ ํํ์ ์
- ์ฌ๋ฏธ์์
- ๋ถ๋ช ๊ฐ์๋ฅผ ๋ดค๋๋ฐ ๋จธ๋ฆฌ์ ๋จ์๊ฒ ์์
- ์๊ฐ๋ง ํ๋ฅด๊ณ ๋ด ์ธ์์ด ๋ฌด๋์ง
์ ๋ฒ ์ฃผ (๋ถ๋ฅ ๋ํ)
- ์๊ฐ ๊ฐ๋ ์ค ๋ชจ๋ฆ
- ๋ชจ๋ฅด๋ ๋ถ๋ถ ๋ง์๋ ๊ด์ฐฎ์. ์ง๋ฌธํ๊ณ ์ฐพ์๋ณด๋ฉด ๋จ
- ์ฌ๋ฏธ์์
- ๊ณ์ ์ง๋ฌธ์ด ๋ ์ค๋ฆ
- ๋ญ๊ฐ ๋จธ๋ฆฌ์ ๋จ์์์

์ฌ๋๋ง๋ค ๊ณต๋ถํ๋ ๋ฐฉ๋ฒ๋ค์ด ๋ค ๋ค๋ฅด๋ค
๊ฐ์ ๋ฐฉ๋ฒ์ด๋๋ผ๋ ๊ฐ์ธ๋ง๋ค ๋ฐ์๋ค์ด๊ณ ์ดํดํ๋ ์ ๋ ๋ํ ๋ค๋ฅด๋ค
ํ์ง๋ง ์๋ง์ ์ฌ๋๋ค์ ๋์์ผ๋ก ์ ๋ถ ๊ฐ์ธ ๋ง์ถคํ๋ ๊ณต๋ถ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์ ์ฉํ๊ธฐ๋ ์ ๋ง ์ด๋ ค์ด ์ผ์ด๋ค
๊ทธ๋ด ์ฌ๊ฑด์ด ์ ์ฃผ์ด์ง์ง๋ ์๊ณ ์ฌ๋ฌ ๋ฐฉ๋ฒ๋ค์ ์๋ํด๋ณด์ง ์๋ ํ ๋ณธ์ธ์กฐ์ฐจ ์ด๋ค ๋ฐฉ๋ฒ์ด ์์ ์๊ฒ ๋ง๋์ง๋ ์ ์ ์๋ค
๋์๊ฒ ๊ฐ์ฅ ํจ๊ณผ ์๋ ํ์ต ๋ฐฉ๋ฒ์ ์ง์ ํด๋ณด๊ณ ์ดํดํ๋ ํธ์ฆ์จ ๋ฐฉ์์ธ๋ฐ ์ด๊ฑธ ์ธ์งํ์ง ๋ชปํ์ฑ ํธํ ๋ฐฉ๋ฒ์ผ๋ก ์ญ ํ๋ ค๋ ์๊ฐ์ ์๊ฐ๋๋ก ํ๋ฅด๊ณ , ๊ณต๋ถํ ์ฒ๋ง ํ๊ณ ์ ์ค์ง์ ์ผ๋ก๋ ๋ฐฐ์ด๊ฒ ์๋ ์ ์ํ์ด ๋ฐ๋ณต๋๋ ๊ฒ์ด๋ค
AI Core ๊ณผ์ ์ด ๋๋ ์์ ์์ ๋ฆ๊ฒ๋ผ๋ ์๊ฒ ๋์ ๋คํ์ด๋ผ๊ณ ํ ์ ๋ฐ์...
๊ทธ๋ผ ์์ผ๋ก ์ด๋ป๊ฒ ๊ณต๋ถํด์ผํ ๊น? ๊ฐ์์ ๊ณผ์ ํํ์ ํ์ต ๋ฐฉ๋ฒ์ด ์๋ง์๋ค๊ณ ๋ ํ์ง๋ง ์ฌ์ค ์ด๊ฑด ๋ด๊ฐ ์ ๋๋ก ํ์ฉ์ ํ์ง ๋ชปํ ๊ฒ์ ๊ฐ๊น๋ค
์ ํํ๋ ์ด๋ป๊ฒ ๊ณต๋ถ์ ํ์ฉํด์ผ ํ ์ง ๋ชจ๋ฅด๊ณ ์๋์ ์ธ ์์ฒญ์ ํด์จ ๊ฒ์ ๊ฐ๊น๋ค
์ฑ ๊ณผ ๊ฐ์, ๊ณผ์ ๋ฑ ์ข์ ์๋ฃ๋ค์ธ๋ฐ ์ต๋ํ ์จ๋จน์ด์ผ์ง
์๋๋ "๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์ ๋๋ก ๊ณต๋ถํ๋ค ๋ผ๋๊ฒ ์ด๋ค๊ฑธ๊น?" ๋ผ๋ ์ง๋ฌธ์ ๋ํ ChatGPT ์ ๋ต๋ณ์ด๋ค
“๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์ ๋๋ก ๊ณต๋ถํ๋ค”๋ ๊ฑด ๋จ์ํ ์์์ ์ฌ์ํ๊ณ ์ดํดํ๋ ๊ฒ์ด ์๋๋ผ,
‘๋ฐฐ์ด ๋ด์ฉ์ ๋ด ๊ฒ์ผ๋ก ๋ง๋๋ ๊ณผ์ ’์ ์ํํ๋ ๊ฒ์ ๋งํด.
์ด๊ฑธ ์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ชผ๊ฐ๋ณด๋ฉด ์๋์ฒ๋ผ 5๋จ๊ณ๋ก ๋๋ ์ ์์ด.
1๏ธโฃ ์๋์ ์์ฒญ์ด ์๋๋ผ ๋ฅ๋์ ํ์ต
- ๊ทธ๋ฅ “์~ ์ ๋ฐ ๊ฐ๋ ์ด๊ตฌ๋” ์์ค์์ ๋๋๋ฉด ๋จธ๋ฆฟ์์ ๋จ์ง ์์.
- ๋ฅ๋์ ์ผ๋ก ๊ณต๋ถํ๋ค๋ ๊ฑด ‘๋ด๊ฐ ์ง์ ์ค๋ช
ํ ์ ์์ ์ ๋๋ก ์ดํดํ๋ ค๋ ์ํ’๋ฅผ ์๋ฏธํด.
์๋ฅผ ๋ค์ด ๊ฐ์์์ “Cross Entropy Loss”๊ฐ ๋์๋ค๋ฉด,
“์ด๊ฑธ ๋ด๊ฐ ์น๊ตฌํํ ์ค๋ช ํ ์ ์์๊น?”
“์์์ด ์ ๊ทธ๋ ๊ฒ ๋๋์ง ๋ง๋ก ํ์ด์ ์ค๋ช ํ ์ ์๋?”
์ด๋ฐ ์ง๋ฌธ์ ์ค์ค๋ก ๋์ง๋ฉด์ ๋ค์ด์ผ ํด.
2๏ธโฃ ํต์ฌ ๊ตฌ์กฐ๋ฅผ ์ก์ผ๋ฉด์ ๋ฃ๊ธฐ
- ๋ชจ๋ ๋ด์ฉ์ ๋ฐ์์ ์ ํ์๋ ์์ด. ๋์
- “์ด ๊ฐ์์ ํต์ฌ ์ฃผ์ ๋ ๋ญ๊น?”
- “์ด ๊ฐ๋ ์ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ๋์จ ๊ฑธ๊น?”
- “์ด์ ๊ฐ๋
๊ณผ์ ์ฐ๊ฒฐ์ ์ด๋ป๊ฒ ๋์ง?”
์ด๋ ๊ฒ ๋ ผ๋ฆฌ ํ๋ฆ๊ณผ ๊ตฌ์กฐ๋ฅผ ์ค์ฌ์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ ํจ์ฌ ๊น์ ํ์ต์ด์ผ.
→ ๋จ์ํ ‘์ง์’์ด ์๋๋ผ ‘์ดํด ๋งต’์ ๋ง๋๋ ๊ณผ์ .
3๏ธโฃ ์ดํด ํ ๋ฐ๋ก ์์ผ๋ก ์ฎ๊ธฐ๊ธฐ
- ์ฝ๋ฉ ๊ฐ์๋ฉด ์ฝ๋ ๊ทธ๋๋ก ์น์ง ๋ง๊ณ ,
→ “์ ์ด๋ ๊ฒ ์งฐ์๊น?”
→ “์ด ๋ถ๋ถ์ ๋ฐ๊พธ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?”
์ด๋ฐ ์์ผ๋ก ์๋์ ์๋ฆฌ๋ฅผ ์คํํ๋ฉฐ ๋ณต๊ธฐํด์ผ ํด. - ์ด๊ฑธ ์ ํ๋ฉด ‘์ดํดํ ๋ฏํ ์ฐฉ๊ฐ’๋ง ๋จ๊ณ , ์ค์ ์์๋ ์์ด ์ ์์ง์ฌ.
4๏ธโฃ ๋ณต์ต๊ณผ ์ฌ๊ตฌ์ฑ
- ํ๋ฃจ๋ ์ดํ ๋ค์, ๊ฐ์ ๋
ธํธ๋ ์์ ์์ด
→ “์ด ๊ฐ์ ํต์ฌ์ ๋ญ์์ง?”
→ “๋ด ๋ง๋ก ๋ค์ ์ ๋ฆฌํด๋ณธ๋ค๋ฉด?”
์ด๋ฐ ์์ผ๋ก ๋ค์ ๋งํ๊ฑฐ๋ ์ ๋ฆฌํด๋ด. - ๋ณต์ต ๋ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ด ๋๋ฌ๋์ผ ์ ๋๋ก ๊ณต๋ถํ ๊ฑฐ์ผ.
5๏ธโฃ ์ ์ฉ์ ์ต์ ๋จ์ ๋ง๋ค๊ธฐ
- “์ด ๊ฐ๋ ์ ์ด๋์ ์จ๋จน์ ์ ์์ง?”
- “์ง์ ์์ ํ๋ก์ ํธ๋ ์ฝ๋ ์ค๋ํซ์ผ๋ก ์ ์ฉํด๋ณผ ์ ์์๊น?”
→ ๊ฐ์์์ ๋ฐฐ์ด ๊ฑธ ํ์ค์ ๋ฌธ์ ๋ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ์ํค๋ฉด ๊ธฐ์ต์ด ๊น์ด์ง๋ค.
→ ์: CNN ๊ฐ์๋ฅผ ๋ค์๋ค๋ฉด Kaggle ๋ฐ์ดํฐ์ ์ ํ๋ ์ฅ์ด๋ผ๋ ๋๋ ค๋ณธ๋ค.
์์ฝํ๋ฉด,
๊ฐ์ = ์ ๋ณด๋ฅผ ๋ฐ๋ ๊ฒ
์ ๋๋ก ๊ณต๋ถ = ๊ทธ ์ ๋ณด๋ฅผ ๊ตฌ์กฐํ → ์ ์ฉ ๊ฐ๋ฅํ ์ง์์ผ๋ก ์ ํ
๋์๊ฒ ์ข ๋ ๋ง๋ ํํ๋ก ์์ ํ์๋ฉด ๊ฐ์, ๊ณผ์ ๋ฑ์ ๋ณด๊ณ ์ ์ฃผ์ด์ง ์๊ฐ ๋ด์ ํด๋ณผ ์ ์๋ ์์ ํ์คํฌ๋ฅผ ์ฐพ๊ณ ๊ตฌ๊ธ๋ง, AI ํฐํคํ์นด ํ๋ฉด์ ์ง์ ๋๋ ค๋ณด๋ ๊ฒ
์๋ฅผ ๋ค์ด, LLM ํ์ธํ๋์ ํ๋ค๊ณ ํ๋ฉด ์ค์ต ์ฝ๋๋ค์ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์ก๋๋ฐ๋ง ๋์๋ฐ๊ณ ๊ณต์ ๋ฌธ์์ ์์ ๋ค์ ์ฐพ์๊ฐ๋ฉด์ ์ค์ต์์ ํ๋ ํ์ธํ๋์ ์ง์ ํด๋ณด๋ ๊ฒ์ด๋ค
์ผ๋ง๋ ๋ณต์กํ๋ฐ... ์๊ฐ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ฝ์ง๋ ๋ง์ด ํ ๊ฒ์ด๋ค
๊ทธ๋ผ์๋ ์ญ ํ๋ค๋ณด๋ฉด ์ด๋ค ๊ฒฐ๊ณผ๋ฌผ๋ค์ด ๋์ฌํ ๋ฐ (๋๋ ๋งํ์ ๊ณ์ ๋น๋น ๋๊ฑฐ๋) ์ด ๋ ์ ๋ต์ง์ธ ์ค์ต ์ฝ๋์ ๋ด๊ฐ ์งํํ๋ ๊ฒ๋ค์ ๋น๊ตํด๋ณด๋ฉด์ ๋ณต์ต๊น์ง.
๋ํ ๋ชฉ์์ผ ์ํด๋ฆฌ ๋ฏธ์ ์ ํ๋ฉด์ ๋ํ๋ฒ ๋๊ผ๋ค
์ด๋ฒ ์ํด๋ฆฌ๋ LLM LoRA ํ์ธ ํ๋๊ณผ ๋ํจ์ ๋ชจ๋ธ์ ๊ตฌํํ๋ ๋ฌธ์ ๊ฐ ๋์๋ค
์ฒ์ ๋ณด๊ณ ์ ๋ฌธ์ ์ ๋์ด๋์ ์๋๋์ด ์ฐจ๋ง ์์ ๋ ์๊ฐ ์์๋ค
์ ๊น ์๊ฐ์ ๋๊ณ ์ ์ด๊ฑธ ์ด๋ป๊ฒ ๊ณต๋ถํด์ผํ ๊น ์๊ฐํด๋ณด์๋ค
๋น์ฅ ํผ์์ ๊ตฌํํ๋๊ฑด ๋ถ๊ฐ๋ฅํ๋ค
๊ทธ๋ฌ๋ ์ฐ์ ์ AI์ ๋์์ ๋ฐ์ ์ ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง ์ฝ๋๋ฅผ ์ฑ์ฐ๊ณ ๋๋ ค๋ณธ๋ค์ ์ฒ์๋ถํฐ ํ๋ํ๋ ์ฃผ์์ ๋ฌ์๋ณด๋ฉด์ ์ดํด๊ฐ ์๊ฐ๋ ์ , ์ด๊ฑด ์ ์ด๊ฑธ ์ผ๋์ง, ์ดํด๊ฐ ๋ ์ ์ด๋ ๊ถ๊ธํ ์ ์ด๋ ์๊ฐ์ด๋ ๋ค ์ ์ด๋ณด๊ณ ์ด ๋ถ๋ถ์ ํด๊ฒฐํ๊ณ ์ AI์ ๋ํํ๋ฉด์ ์ฑ์๋๊ฐ๋ค
์๋๋ ์ ๋ฏธ๋์ด์ ๋์์ ๋ฐ์ ์ฝ๋์ด๋ค
class LoRALinear(nn.Module):
def __init__(self, original_weight, r=8, alpha=8, bias=True):
super().__init__()
assert original_weight != None, "original_weight must be provided"
assert min(original_weight.shape) > r, "r must be less than the minimum dimension of original_weight"
self.r = r # r์ ์ ์์ค ์ฐจ์์ผ๋ก ๋ฎ์ถ๊ณ ์ ํ๋ ๋ญํฌ๋ฅผ ๋งํ๋๊ฑด๊ฐ? => ๋ง์. ๊ทธ๋ผ ์ ํํ๊ฒ ๋ญํฌ๋ผ๋๊ฒ ๋ญ์ง? ์์ ์ ์ํ ํํธ์์ ๋์์๋๋ฐ.. ๋ญํฌ๋ ์ฐจ์?
self.alpha = alpha # ๊ทธ๋ผ ์ํ๋ ๋ญ์ง? ๊ทธ๋ฆฌ๊ณ ์๋์ ์ํ, r๋ก ์ค์ผ์ผ๋ง์ ํด์ฃผ๋๊ฑด ์ ํด์ฃผ๋๊ฑฐ์ง?
self.scaling = alpha / r if r > 0 else 1.0
self.W = original_weight # ์ค๋ฆฌ์ง๋ ์จ์ดํธ๋ ์ ํํ ๋ชจ๋ธ ์ด๋ ์์น์ ์จ์ดํธ์ผ๊น?
self.W.requires_grad = False # ์ด๊ฑด ๊ธฐ์กด ์จ์ดํธ๋ ํ์ตํ์ง ์๋๋ก ํ๋ฆฌ์ฆ ํด์ฃผ๋ ๊ฒ ๊ฐ์.
d_out, d_in = self.W.shape # ์๋ ๊ธฐ๋ณธ ์ฝ๋์๋ ์ด ๋ถ๋ถ์ด ์์๋๋ฐ self.W.sape[0] ์ด๋ฐ ์์ผ๋ก๋ ์ฌ์ฉํด๋ ๋์ง๋ง ์ ํํ๊ฒ ๋ช
์ํด์ฃผ๋๊ฒ ๊ฐ๋
์ฑ์ด ๋ ์ข์ ๋ฏ
# A, B๊ฐ ๋ญ์ง..?
# ์ํ! ๋ญํฌ๋ฅผ ๋ค์ด์
! ๊ธฐ์กด์ ์จ์ดํธ์ AB๋ฅผ ๊ฑฐ์น๋ฉด์
# A (Down-projection): ์
๋ ฅ d_in -> ๋ญํฌ r
self.lora_A = nn.Parameter(torch.empty(d_in, r)) # ์ empty๋ก ๋ง๋ค์์๊น? empty๋ก ์์ฑํ๋ฉด ๋ฐฐ์ด์ด ์ด๋ค ๊ฐ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ง?
# B (Up-projection): ๋ญํฌ r -> ์ถ๋ ฅ d_out
self.lora_B = nn.Parameter(torch.empty(r, d_out))
if bias:
self.bias = nn.Parameter(torch.zeros(d_out)) # ์ด๊ฑด bias ์ฌ์ฉํ๋ค๊ณ ํ๋ฉด 0์ผ๋ก ๋ bias ํ๋ ฌ ๋ง๋ค๊ธฐ. ํ๋ ฌ ์ฐ์ฐ์ด๋๊น output ์ฐจ์์ ๋ง์ถฐ์ผํด์ d_out์ด ๋๋๊ฒ๋ ์ค์ผ์ด.
else:
self.register_parameter('bias', None)
self.reset_parameters()
def reset_parameters(self):
# A๋ ๊ฐ์ฐ์์ ๋ถํฌ๋ก ์ด๊ธฐํ - ์ด๊ฑฐ ๋
ผ๋ฌธ์ ๋์์์
nn.init.normal_(self.lora_A, mean=0.0, std=1.0)
# B๋ 0์ผ๋ก ์ด๊ธฐํํ์ฌ, ์ด๊ธฐΔW = BA๊ฐ 0์ด ๋๋๋ก ์ค์
nn.init.zeros_(self.lora_B)
def forward(self, x):
# ์๋ณธ Linear ์ฐ์ฐ : y = x @ self.W.t()
y = x @ self.W.t() + (self.bias if self.bias is not None else 0.0)
lora_output = x @ self.lora_A @ self.lora_B * self.scaling
return y
๊ทธ๋ฆฌ๊ณ ์ ๋ค์ ์ฝ๋์์๋ ์ด๋ ๊ฒ ๊ตฌํํ LoRA๋ฅผ ๋ผ๋ง ๋ชจ๋ธ์์ ์ด๋ ๋ถ๋ถ์ ์ ์ฉํด์ผํ๋์ง ๊ตฌํํ๋ ๋ฌธ์ ๊ฐ ๋์จ๋ค
LlamaForCausalLM(
(model): LlamaModel(
(embed_tokens): Embedding(128256, 2048, padding_idx=128004)
(layers): ModuleList(
(0-15): 16 x LlamaDecoderLayer(
(self_attn): LlamaAttention(
(q_proj): Linear(in_features=2048, out_features=2048, bias=False)
(k_proj): Linear(in_features=2048, out_features=512, bias=False)
(v_proj): Linear(in_features=2048, out_features=512, bias=False)
(o_proj): Linear(in_features=2048, out_features=2048, bias=False)
)
(mlp): LlamaMLP(
(gate_proj): Linear(in_features=2048, out_features=8192, bias=False)
(up_proj): Linear(in_features=2048, out_features=8192, bias=False)
(down_proj): Linear(in_features=8192, out_features=2048, bias=False)
(act_fn): SiLUActivation()
)
(input_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
(post_attention_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
)
)
(norm): LlamaRMSNorm((2048,), eps=1e-05)
(rotary_emb): LlamaRotaryEmbedding()
)
(lm_head): Linear(in_features=2048, out_features=128256, bias=False)
)
๋ฐฐ์ด ๋ฐ๋ก๋ ์ดํ ์ ์์ ํค์ ๋ฐธ๋ฅ ๋ฑ์ ๊ฐ์ ์ ์ฉํ ์ ์๋ค๊ณ ํ๋๋ฐ.. ๊ทธ๋ผ ๋ชจ๋ธ์ q_proj, k_proj, v_proj, o_proj ๋ค ์ ์ฉํด์ฃผ๋๊ฑธ๊น?
ํ์ด๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ด ํ ์บ ํผ๋ถ๊ณผ ์ด ๋ถ๋ถ์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ฉด์ ๋ ผ๋ฌธ์ ๊ฐ์ด ๋ณด์๋ค

์ด๋์ ์ ์ฉํด์ผํ ์ง ๊ทผ๊ฑฐ๋ฅผ ์ฐพ๊ณ ์ ๋ ผ๋ฌธ์ ๋ณด๋ฉด ์ด๋ ๊ฒ ์ด๋ค ๋ฐฉ๋ฒ๋ค์ ์ฌ์ฉํ๋์ง ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ง ๋ฐ์ดํฐ์ ์ ๋ํด Validation Accuracy๊ฐ ์ผ๋ง๋ ๋์๋์ง ์ ๋ฆฌํด๋์๋ค
LoRA ํํธ๋ฅผ ๋ณด๋ฉด rk, rq, rv ๋ฑ๋ฑ ํค๋ ์ฟผ๋ฆฌ, ๋ฐธ๋ฅ์ ๋ํด LoRA๋ฅผ ์ด๋ป๊ฒ ์ ์ฉํ๊ณ ๊ฐ๊ฐ์ ์ฑ๋ฅ๋ค์ ๋น๊ตํด๋์๋ค
์ด๋ค ์ดํ ์ ๋ถ๋ถ์ ๋ญํฌ ๊ฐ์ ์ผ๋ง๋ ์ ์ฉํ์ ๊ฒฝ์ฐ์ด๋ฉฐ r=4๋ก q_proj, k_proj, v_proj, o_proj ๋ชจ๋ ์ ์ฉํ์ ๋์ r=2๋ก v_proj์ ์ ์ฉํ์ ๋ 91.7๋ก ๋์ผํ๋ค
LoRA๋ฅผ ๋ง์ด ์ ์ฉํ ์๋ก ๊ทธ๋งํผ ํ๋ผ๋ฏธํฐ ์๊ฐ ๋์ด๋๋ฏ๋ก ์ด ๋ถ๋ถ์ ๊ณ ๋ คํ์ฌ ์ ์ ํ๊ฒ ์ ํํ๋ ๊ฒ์ด ํ์ํจ์ ์๊ฒ ๋์๋ค
์ด๋ ๊ฒ ๊ณต๋ถ๋ฅผ ์ด์ด๊ฐ๋๊น ๊ธฐ์ต์๋ ๋ ์ ๋จ๊ณ ์์ํ๊ฒ ์ฌ๋ฐ๊ธฐ๋ ํ๋ ๋ฑ ๊ธ์ ์ ์ธ ํจ๊ณผ๊ฐ ๋ ํฌ๋ค๊ณ ๋๊ผ๋ค
๋ด์ฉ์ด ๋ง์์ ๋ค ๋ณด์ง ๋ชปํ๊ณ ... ๊ธ์์ผ์ ๋ง๋ฌด๋ฆฌํ ์์ ์ด๋ค
๊ทธ๋ผ ์์ผ๋ก ์ฑ ์ด๋ ๊ฐ์, ๊ณผ์ ๋ฅผ ๋ณด๋ฉด์ ์ด๋ฐ ๊ณต๋ถ ๋ฐฉ์์ ์ด๋ป๊ฒ ์ ์ฉํ๋ฉด ์ข์๊น?
์... ์ด ๋ถ๋ถ์ ๋ด์ผ๋ถํฐ ๋ค์ ์ฃผ ๋ฐฉํ๋์ ์ฑ ์ด๋ ์ด์ ๋ด์ฉ๋ค ๋ณต์ตํ๋ฉด์ ๊ณ ๋ฏผ์ ํด๋ด์ผ๊ฒ ๋ค
3. ํผ์ด์ธ์ ์ ๋ฆฌ

์ ๋ฒ ์ฃผ๋ ๋ํ ๊ด๋ จํด์ ์๊ธฐํ ๋ด์ฉ๋ค์ด ๋ง์์ผ๋ ์ด๋ฒ ์ฃผ๋ 3์ผ ๋ฐ์ ์๊ธฐ๋ ํ๊ณ ๊ฐ์๋ ๊ณผ์ ๋ด์ผํ ๋ด์ฉ๋ค์ด ๋ง์์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ง๋ ๋ชปํ๋ค
๋น ์ด์์๋ ํ ๋น๋ฉ์ด ์์ด์ ์ด๋ค ํ์ ๋ค์ด๊ฐ๋์ง, ์ด๋ค ์ฃผ์ ๋ ํ๋ก์ ํธ ๊ด์ฌ์๊ณ ๋ฌด์จ ์ด์ผ๊ธฐ ๋๋๋์ง์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ๋ง์ดํ๊ณ ๊ฐ์๋ ๊ณผ์ , ์ค๋ ํ์๋ ์ํด๋ฆฌ์ ๋ํด์๋ ์๊ฒฌ์ ๋๋์๋ค
์ด๋ฒ ํ์์๋ CV๊ฐ ๋ง์์ ๋ค์์ฃผ ํ ๋ฏธํ ๋ฐ์ด ๋ ์ง์ ๋ณด๊ณ ์ธ์ฌ๋๋ ์ ์์ ๊ฒ ๊ฐ๋ค
4. ํ๊ณ
Keep.
์ด๋ฒ ์ฃผ ์ํ ์ , ์ ์งํ๊ณ ์ถ์ ๊ฒ
- ์ ๋ฒ ์ฃผ๋ณด๋ค ์ทจ์นจ ์๊ฐ์ ๋ง์ด ๋ก๊ฒผ๋ค. ๋๋ถ๋ถ 12์ ์ ํ๋ก ์ ์ ๋ค์๋ค
- ๊ณต๋ถํ๋ฉด์ ๊ทธ๋ฅ ์๊ฐ์์ด ๋ฃ๋๊ฒ ์๋๋ผ ์ ์ง์ค์ด, ๊ณต๋ถ๊ฐ ์๋ ๊น ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊น, ์ด๋ป๊ฒ ํ๋ฉด ๋ ์ ํ์ตํ ์ ์์๊น ๊ณ ๋ฏผํ ์
- ์ด๋ค ๋ด์ฉ์ด๋ ๊ทธ๋ฅ ๋๊ธฐ์ง ๋ง๊ณ ์ง๋ฌธ ๋ฑ ํ๋๋ง ๋์ ธ๋ณด๊ธฐ. ์๋์ ์ผ๋ก ์๋ฌธ์ ๊ฐ์ง๋ ค ํ๋ฉด ์ ๋ง ์์ฒญ ๋ง์ด ๋ ์ค๋ฅด๊ฒ ๋๋ค
- ์ด๋ ๊พธ์คํ. ์ค๋๋ง์ ๋ฐ์์ ๋ฌ๋๋ ๋ฐ๊ณ ์๋ค
- ์ฑ ๋ ํํํ ์ฝ๊ณ ์๋ค. ์ง๊ธ ์ฝ๋ ์ฑ ์ ์์๋ณ๋ฒ
- ๊ณต๋ถํ ๋ ํธ๋ํฐ ๊ฑฐ์ค์ ๋๊ธฐ. ์์ผ๊ฐ ๋ฟ๋ ์ฃผ๋ณ์ ํธ๋ํฐ์ด ์กด์ฌํ๊ธฐ๋ง ํด๋ ์ง์ค๋๊ฐ ๋ง์ด ๋จ์ด์ง๋ค๊ณ ํ๋ค
Insight.
์ด๋ฒ ์ฃผ ๋์ ๋๋ผ๊ณ ๊นจ๋ฌ์ ์
- ๋ฌด์ธ๊ฐ ๋น์ฅ ํด๋ผ ์ ์๋ ๊ฒ์ ๋ฐ์ผ๋ฉด ๋๋ ์์ฒญ๋ ์๋ฐ์ ๋ฐ๊ณ ์์์กฐ์ฐจ ํ์ง ์๊ณ ํฌ๊ธฐํ๋ ค ํ๋ค
- ๊ทธ๋ฌ๋ ์ ๊น ์๊ฐ์ ๋๊ณ ๋ฆฌํ๋ ์ฌํ ๋ค์ ๋ค์๋ณด๋ฉด ์ผ๋จ ํด๋ณผ ์ ์๋ ๋ถ๋ถ๋ถํฐ ์์ํ ์ ์๋ค
- ์ด๋ฐ์ ๋๋ผ๋ ๋ถ์ ์ ์ธ ๊ฐ์ ์ ํฉ์ธ๋ฆฌ์ง ๋ง๊ณ ์ ๊น์ ์๊ฐ์ ์ฃผ๋ ๊ฒ์ ์ด๋ ค์ด ๋ฌด์ธ๊ฐ๋ฅผ ์์ํ๋๋ฐ ํฐ ๋์์ด ๋๋ค
- ๊ทธ๋ฆฌ๊ณ ํ๋ฒ์ ๋ค ์ดํดํ๊ณ ๊ฐ์ ธ๊ฐ๋ ค๊ณ ์์ฌ๋ด์ง ๋ง๊ธฐ
Problem.
์์ฝ๊ณ ๊ฐ์ ํ๊ณ ์ถ์ ๊ฒ
- ๊ตฌ์ธ๊ตฌํ์ผ๋ก ์ ์ ์๊ณ ๋ด์ฉ ์์ฒด๋ ๋์ด๋๊ฐ ๋ง์ด ๋์ ๊ณต๋ถ์ ์ ๋๋ก ์ง์คํ์ง ๋ชปํจ
- LLM, ๋ํจ์ ๋ชจ๋ธ ํ์ธํ๋... ๋ค ์ดํดํ๊ธฐ์ ๋ด์ฉ์ด ๋งค์ฐ ๋ฐฉ๋ํ๋ฐ ์๊ฐ๋ ์งง์ ๊ฑฐ์ ๊ณต๋ถ ํ์ง ๋ชปํจ
- ๊ทธ๋์ ์ํด๋ฆฌ ๋ฏธ์ ์ ๊ฑฐ์ ๋ชปํ์์ ๐
- ์์ ์์นจ์ ์ผ์ด๋๊ธฐ๊ฐ ํ๋ฌ... ์ข ์ข ๋ค์ ์๊ณค ํ๋ค
- ์ต๊ด์ ์ผ๋ก ์ปคํผ๋ฅผ ์ญ ๋ง์ ์จ ๊ฒ
Emotion.
์ด๋ฒ ์ฃผ ๊ฐ์ ์ ์์ ์ด์
- 7์
- ์ฌ๋ฌ๋ชจ๋ก ์์ฌ์ด ๋ถ๋ถ๋ค์ด ๋ง์์ง๋ง ๊ทธ๋๋ ๊ณต๋ถํ๋ ๋ฐฉ์์ ๋ํด ์กฐ๊ธ์ ์์๊ฐ๋ ์ ์ด ์์๋ ํ ์ฃผ
Try.
๋ค์์ ์๋ํ๊ณ ์ถ์ ๊ตฌ์ฒด์ ์ธ ์ก์
- ์นดํ์ธ ์ค์ด๊ณ ์๋ฉด์ ์ง ๋์ด๊ธฐ
- ์ด๋ฒ ์ฃผ๊น์ง๋ ์ํด๋ฆฌ ๋ด์ฉ ๋ณต์ต ๋๋ด๊ธฐ
- ์ฑ ๊ณต๋ถํ๋ฉด์ ์ด๋ป๊ฒ ํ๋ฉด ๋ฅ๋์ ์ธ ํ์ต์ ํ ์ ์์์ง ๊ณ ๋ฏผํด๋ณด๊ณ ์ ์ฉํด๋ณด๊ธฐ
- ์ปคํผ ๋๊ธฐ! ๋ฐ๊ฐ๋ฃจ ๋ฑ ๊ฐ๊ณต ์ํ๋ ๊ฐ์ด ๋๊ธฐ!
- ์์นจ ์ฐ์ฑ ํ๊ณ ์คํธ๋ ์นญ ํด์ฃผ๊ธฐ
'๋ค์ด๋ฒ ๋ถ์คํธ์บ ํ AI Tech' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ถ์คํธ์บ ํ AI Tech 8๊ธฐ] 11์ฃผ์ฐจ ํ๊ณ (0) | 2025.11.28 |
|---|---|
| [๋ถ์คํธ์บ ํ AI Tech 8๊ธฐ] 10์ฃผ์ฐจ ํ๊ณ (0) | 2025.11.21 |
| [๋ถ์คํธ์บ ํ AI Tech 8๊ธฐ] 8์ฃผ์ฐจ ํ๊ณ (0) | 2025.10.30 |
| [๋ถ์คํธ์บ ํ AI Tech 8๊ธฐ] 7์ฃผ์ฐจ ํ๊ณ (0) | 2025.10.24 |
| [๋ถ์คํธ์บ ํ AI Tech 8๊ธฐ] 6์ฃผ์ฐจ ํ๊ณ (1) | 2025.10.17 |