2024λ…„ 5μ›” 3μ£Όμ°¨ μ…€λ ‰νŠΈμŠ€νƒ€ λ‰΄μŠ€λ ˆν„°
κΈ€: 이성배, λ”₯λ‹€μ΄λΈŒ(deep daiv.) 제휴 μ½˜ν…μΈ  γ…£ 에디터: μ •μΈμ˜                                            
πŸ“° 검색과 생성을 μœ„ν•œ All in One μ–Έμ–΄ λͺ¨λΈ

μ–Έμ–΄ λͺ¨λΈμ˜ ν™˜κ° ν˜„μƒμ„ 쀄이기 μœ„ν•΄ 검색 κ²°κ³Όλ₯Ό 기반으둜 닡변을 μƒμ„±ν•˜λŠ” λŒ€ν‘œμ μΈ 방법이 λ°”λ‘œ RAGμž…λ‹ˆλ‹€. RAGλŠ” Retrieval-Augmented Generation, 우리말둜 β€˜κ²€μƒ‰ 증강 생성’ 기법을 μ˜λ―Έν•˜λŠ”λ°μš”. μ–Έμ–΄ λͺ¨λΈμ΄ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 μƒμ„±ν•˜λŠ” κ³Όμ •μ—μ„œ κ²€μƒ‰λœ κ²°κ³Όλ₯Ό μ–Έμ–΄ λͺ¨λΈμ˜ μž…λ ₯κ°’μœΌλ‘œ ν™œμš©ν•©λ‹ˆλ‹€. 마치 κΆκΈˆν•œ λ‚΄μš©μ„ 포털 μ‚¬μ΄νŠΈμ—μ„œ κ²€μƒ‰ν•΄λ³΄λŠ” κ²ƒμ²˜λŸΌμš”.


RAGλ₯Ό μœ„ν•΄μ„œλŠ” 질문과 κ΄€λ ¨λœ μ μ ˆν•œ λ¬Έμ„œλ₯Ό μ°ΎλŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 이미 잘 갖좰진 검색 엔진을 ν™œμš©ν•˜λŠ” 방법도 μžˆμ§€λ§Œ, 항상 검색 엔진을 ν™œμš©ν•  수 μžˆλŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. 기업이 λ³΄μœ ν•œ λ°μ΄ν„°λ‚˜ 전문성이 높은 정보 같은 경우 검색 κ²°κ³Όμ—μ„œ 찾을 수 μ—†κ² μ£ . 이런 κ²½μš°μ—λŠ” λ³„λ„μ˜ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜κ³ , 질의(Query)와 κ΄€λ ¨λœ λ¬Έμ„œμ˜ μ •λ³΄λ§Œμ„ 필터링해야 ν•©λ‹ˆλ‹€.


κ·Έλ ‡λ‹€λ©΄ μ–΄λ–»κ²Œ μœ μ‚¬ν•œ 정보λ₯Ό 필터링할 수 μžˆμ„κΉŒμš”? λ¨Όμ €, 검색어와 λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ˜ λ¬Έμ„œ κ°„μ˜ μœ μ‚¬λ„λ₯Ό 계산해야 ν•©λ‹ˆλ‹€. μœ μ‚¬λ„λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•΄μ„œλŠ” 각 λ¬Έμ„œλ₯Ό 벑터화해야 ν•˜λŠ”λ°μš”. μ΄λ ‡κ²Œ λ¬Έμ„œλ₯Ό λ²‘ν„°ν™”ν•˜λŠ” 과정을 **μž„λ² λ”©(Embedding)**이라 ν•©λ‹ˆλ‹€.

좜처: A Gentle Introduction to Retrieval Augmented Generation (RAG)


λ¬Έμ„œμ˜ μž„λ² λ”© 과정도 μ–Έμ–΄ λͺ¨λΈλ‘œ μ΄λ€„μ§€λŠ”λ°μš”. μž„λ² λ”©μ„ μœ„ν•œ μ–Έμ–΄ λͺ¨λΈμ€ 닡변을 μƒμ„±ν•˜λŠ” μ–Έμ–΄ λͺ¨λΈ(e.g. GPT)κ³ΌλŠ” λ‹€λ¦…λ‹ˆλ‹€. μž„λ² λ”© λͺ¨λΈμ€ λ¬Έλ§₯을 μ΄ν•΄ν•˜λŠ” 데, μƒμ„±ν˜• μ–Έμ–΄ λͺ¨λΈμ€ λ‹€μŒ 단어λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” 데 νŠΉν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λ‘˜ λ‹€ μ–Έμ–΄ λͺ¨λΈμ΄μ§€λ§Œ κ°μžκ°€ μž˜ν•˜λŠ” 역할이 λ‹€λ₯΄λ‹€ λ³΄λ‹ˆ, 같은 μ§ˆλ¬Έλ„ 각각 μž…λ ₯돼야 ν•©λ‹ˆλ‹€. λ‹Ήμ—°νžˆ 계산 λ˜ν•œ 두 번 이뀄져야 ν•˜κ³ μš”. μ–΄λ”˜κ°€ λΉ„νš¨μœ¨μ μ΄μ§€μš”?


κ·Έλž˜μ„œ 두 μ–Έμ–΄ λͺ¨λΈμ„ ν†΅ν•©ν•˜λ €λŠ” μ‹œλ„κ°€ 이어지고 μžˆμŠ΅λ‹ˆλ‹€. 즉, 검색을 μœ„ν•œ μž„λ² λ”©κ³Ό λ‹΅λ³€ 생성을 λͺ¨λ‘ ν•΄λ‚΄λŠ” μ˜¬μΈμ› μ–Έμ–΄ λͺ¨λΈμ΄λΌκ³  ν•  수 있죠. 이번 λ‰΄μŠ€λ ˆν„°μ—μ„œλŠ” 처음으둜 생성과 μž„λ² λ”©μ„ ν†΅ν•©ν•˜κ³ μž ν•œ μ–Έμ–΄ λͺ¨λΈ GRIT을 μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

GRIT: Generative Representational Instruction Tuning

좜처: Generative Representational Instruction Tuning (Muennighoff et al., 2024)


GRIT은 μ–΄λ–»κ²Œ ν•™μŠ΅ν–ˆκΈ°μ— 두 λŠ₯λ ₯을 λͺ¨λ‘ μ–»μ—ˆμ„κΉŒμš”? GRIT은 ν•˜λ‚˜μ˜ λͺ¨λΈμ— μž„λ² λ”© ν‘œν˜„(Representation)κ³Ό 생성(Generation)을 μœ„ν•΄ *Instruction Tuning을 ν–ˆμŠ΅λ‹ˆλ‹€.

μž„λ² λ”©μ„ μœ„ν•΄μ„œλŠ” 쒋은 벑터값을 μ–»μ–΄μ•Ό ν•˜κ³ , 생성을 μœ„ν•΄μ„œλŠ” μ μ ˆν•œ λ‹€μŒ 토큰을 μ–»μ–΄μ•Ό ν•©λ‹ˆλ‹€. ν•™μŠ΅ν•˜λŠ” 과정은 κ°™μ§€λ§Œ μ΅œμ’…μ μœΌλ‘œ μ–»μ–΄μ•Όν•˜λŠ” 것이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— λͺ¨λΈμ˜ μ΅œμ’… 단계에 μ•½κ°„μ˜ 차이λ₯Ό μ€λ‹ˆλ‹€.

좜처: Generative Representational Instruction Tuning (Muennighoff et al., 2024)


μœ„μ˜ κ·Έλ¦Όμ—μ„œ μ•Œ 수 μžˆλ“―μ΄, μž„λ² λ”© νƒœμŠ€ν¬μ—μ„œλŠ” λ§ˆμ§€λ§‰ 은닉측(Hidden State)의 κ°€μ€‘μΉ˜ 값을 평균을 λ‚΄κ³ (Mean Pooling), 생성 νƒœμŠ€ν¬μ—μ„œλŠ” λ§ˆμ§€λ§‰ μ€λ‹‰μΈ΅μ—μ„œ λ‹€μŒ 토큰을 μ˜ˆμΈ‘ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ Instruction에 νŠΉμˆ˜ν•œ 토큰을 μΆ”κ°€ν•΄ μ–΄λ–€ νƒœμŠ€ν¬λ‘œ ν•™μŠ΅ν• μ§€ κ²°μ •ν•©λ‹ˆλ‹€. 이 과정을 그림으둜 λ‚˜νƒ€λ‚΄λ©΄ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

좜처: Generative Representational Instruction Tuning (Muennighoff et al., 2024)


GRIT λͺ¨λΈμ— λ™μΌν•œ ν˜•νƒœλ‘œ Instruction이 μž…λ ₯λ˜μ§€λ§Œ 좜λ ₯ν•˜λŠ” κ²°κ³ΌλŠ” λ‹€λ₯Έ 것을 λ³Ό 수 μžˆλŠ”λ°μš”. μ—¬κΈ°μ„œ 쒋은 μž„λ² λ”© κ²°κ³Όλ₯Ό μ–»κΈ° μœ„ν•΄, ν‘œν˜„μ„ μœ„ν•œ Instruction Tuning의 ν•™μŠ΅ λ°μ΄ν„°λŠ” λΆ„μ•Ό(Domain), μ˜λ„(Intent), **ν…μŠ€νŠΈμ˜ λ‹¨μœ„(Unit)**을 λͺ…μ‹œμ μœΌλ‘œ μΆ”κ°€ν•©λ‹ˆλ‹€. κ°€μž₯ μœ„μ˜ μ˜ˆμ‹œμ—μ„œλŠ” κ³Όν•™(Scientific) 뢄야에 λŒ€ν•΄, λ…Όλ¬Έμ˜ 초둝(Abstract) λ‹¨μœ„μ—μ„œ 검색(Retrieve)ν•˜κ³ μž ν•˜λŠ” μ˜λ„λ₯Ό λ°˜μ˜ν•΄ μ§€μ‹œν•œ 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.


Instruction Tuning을 μœ„ν•΄μ„œλŠ” 기반 λͺ¨λΈ(Base Model)이 ν•„μš”ν•©λ‹ˆλ‹€. GRIT λͺ¨λΈμ€ Mistral 7B λͺ¨λΈμ„ 기반으둜 ν•˜μ—¬ 좔가적인 Instruction을 ν•™μŠ΅μ‹œμΌ°μŠ΅λ‹ˆλ‹€. μž„λ² λ”©κ³Ό μƒμ„±μ΄λΌλŠ” 두 가지 λͺ©ν‘œλ₯Ό λͺ¨λ‘ λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ 더 λ§Žμ€ ν•™μŠ΅ νšŸμˆ˜κ°€ ν•„μš”ν–ˆμ§€λ§Œ μ΅œμ’…μ μœΌλ‘œλŠ” 두 λŠ₯λ ₯μ—μ„œ λͺ¨λ‘ μ€€μˆ˜ν•œ μ„±λŠ₯을 λ³΄μœ ν•˜κ²Œ λμŠ΅λ‹ˆλ‹€(πŸ”— GritLM GitHub 링크).

RAG에 ν™œμš©ν•  수 μžˆμ„κΉŒ?

κΈ°μ‘΄ λ°©μ‹μ˜ RAGλŠ” μ§ˆμ˜λ¬Έμ„ β€˜μž„λ² λ”© λͺ¨λΈβ€™μ— μž…λ ₯ν•˜κ³ , κ²€μƒ‰λœ 결과와 ν•¨κ»˜ μ§ˆμ˜λ¬Έμ„ λ‹€μ‹œ β€˜μƒμ„± λͺ¨λΈβ€™μ— μž…λ ₯ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ ν•˜λ‚˜μ˜ μ–Έμ–΄ λͺ¨λΈμ— 이 두 가지 κΈ°λŠ₯을 ν†΅ν•©ν•¨μœΌλ‘œμ¨ λΉ„νš¨μœ¨μ„±μ„ 쀄일 수 μžˆμ—ˆλŠ”λ°μš”. 이미 ν•œ 번 κ³„μ‚°ν•œ 정보에 λŒ€ν•΄ *μΊμ‹œ(Cache)에 μ €μž₯ν•˜μ—¬ 검색 속도λ₯Ό λΉ„μ•½μ μœΌλ‘œ 쀄인 κ²ƒμž…λ‹ˆλ‹€.

좜처: Generative Representational Instruction Tuning (Muennighoff et al., 2024)


GRIT의 Query-Doc Caching 방법을 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. λ¨Όμ € GRIT λͺ¨λΈ(GritLM)은 μž…λ ₯된 μ§ˆλ¬Έμ— λŒ€ν•΄ 벑터 연산을 μ§„ν–‰ν•©λ‹ˆλ‹€. 이 λ²‘ν„°λŠ” λ¬Έμ„œ 검색을 μœ„ν•œ λͺ©μ κ³Ό 생성을 μœ„ν•œ 쑰건(Condition) λͺ©μ μœΌλ‘œ λͺ¨λ‘ ν™œμš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 두 번 μ—°μ‚°ν•˜μ§€ μ•Šκ³ , 1μ°¨ μΊμ‹œ(1st Cache)에 μ €μž₯해두죠. κ²€μƒ‰λœ λ¬Έμ„œμ— λŒ€ν•΄μ„œλ„ λ™μΌν•˜κ²Œ 적용이 κ°€λŠ₯ν•œλ°μš”. κ²€μƒ‰λœ λ¬Έμ„œ 벑터 μ—­μ‹œ GritLM으둜 κ΅¬ν•œ 만큼 생성에 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 μ •λ³΄λŠ” 2μ°¨ μΊμ‹œ(2nd Cache)에 μ €μž₯λ©λ‹ˆλ‹€. μ΄λ ‡κ²Œ 두 가지 정보λ₯Ό λͺ¨λ‘ GritLM의 μž…λ ₯κ°’μœΌλ‘œ ν™œμš©ν•΄ μ›ν•˜λŠ” 닡변을 μƒμ„±ν•΄λ‚΄λŠ” 것이 Query-Doc Caching의 μ›λ¦¬μž…λ‹ˆλ‹€..


ν•˜μ§€λ§Œ 아직 μ‹€μ œ RAG에 ν™œμš©ν•˜κΈ°μ—λŠ” μ„±λŠ₯이 그리 쒋진 μ•ŠμŠ΅λ‹ˆλ‹€. RAGλ₯Ό μ‚¬μš©ν•œ κ²°κ³Όκ°€ RAGλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ€ 결과와 큰 차이가 μ—†λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬λŠ”λ°μš”. 이에 λŒ€ν•΄ 연ꡬ진은 GRIT λͺ¨λΈμ΄ ν•΄λ‹Ή 방식에 λŒ€ν•΄ νŒŒμΈνŠœλ‹λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ΄λΌκ³  μ„€λͺ…ν•©λ‹ˆλ‹€. 

GRIT은 Mistral 7Bλ₯Ό 기반으둜 ν–ˆμ§€λ§Œ, ν•™μŠ΅ ꡬ쑰의 νŠΉμ„±μƒ μ–΄λ–€ λͺ¨λΈμ—λ„ 이와 같은 μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 잠재적으둜 λ‹€λ₯Έ λͺ¨λΈμ— λŒ€ν•΄μ„œλ„ 연ꡬ할 λ§Œν•œ 여지가 λ§Žλ‹€λŠ” μ˜λ―Έμ§€μš”. ν˜„μž¬ κ°€μž₯ λ›°μ–΄λ‚œ μ„±λŠ₯을 λ³΄μ΄λŠ” GPT-4λ‚˜ Gemini Pro 같은 λͺ¨λΈμ— λŒ€ν•΄μ„œλ„ μ μš©ν•œλ‹€λ©΄ 훨씬 적은 λΉ„μš©μœΌλ‘œ RAGλ₯Ό κ΅¬ν˜„ν•  수 μžˆλ‹€λŠ” 희망을 보여주기도 ν•©λ‹ˆλ‹€. λ¬Όλ‘ , 더 λ§Žμ€ 연ꡬ가 ν•„μš”ν•˜κ² μ§€λ§Œμš”.

AI NEWS 

: λ‹¨λ°±μ§ˆμ˜ 3차원 ꡬ쑰λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” AI λͺ¨λΈ AlphaFold 3κ°€ κ³΅κ°œλμŠ΅λ‹ˆλ‹€. AlphaFold 2κ°€ 곡개된 지 4λ…„λ§Œμž…λ‹ˆλ‹€. AlphaFold 3λŠ” 이전 λͺ¨λΈμ˜ Evoformer λͺ¨λ“ˆμ„ λ”μš± κ°œμ„ ν•œ Pairformerλ₯Ό ꡬ쑰λ₯Ό μ„ λ³΄μ˜€λŠ”λ°μš”. μƒˆλ‘œμš΄ ν•™μŠ΅ ꡬ쑰 덕뢄에 λΆ„μž κ°„ μƒν˜Έμž‘μš© 예츑 λŠ₯λ ₯이 크게 κ°œμ„ λμŠ΅λ‹ˆλ‹€.


AI μž₯μ°©ν•œ μ•„μ΄νŒ¨λ“œ ν”„λ‘œ

: Apple은 7κ°œμ›”λ§Œμ— AI μΉ© β€˜M4’λ₯Ό μ„ λ³΄μ˜€μŠ΅λ‹ˆλ‹€. μ΄λ²ˆμ— λ°œν‘œλœ M4λŠ” μƒˆλ‘­κ²Œ μΆœμ‹œλ˜λŠ” μ•„μ΄νŒ¨λ“œ 11μ„ΈλŒ€μ— 반영될 μ˜ˆμ •μž…λ‹ˆλ‹€. M4 칩은 M2와 비ꡐ해 μ΅œλŒ€ 1.5λ°° ν–₯μƒλœ μ†λ„μ˜ CPUλ₯Ό μ œκ³΅ν•˜λ©°, AI 기계 ν•™μŠ΅μ„ κ°€μ†ν•˜κΈ° μœ„ν•œ λ‰΄λŸ΄ 엔진 μ„±λŠ₯은 ν˜„μ‘΄ 졜고라고 ν•©λ‹ˆλ‹€.


OpenAI, μ—…κ·Έλ ˆμ΄λ“œ GPT-4o 곡개

: OpenAIκ°€ κ³΅κ°œν•œ μƒˆλ‘œμš΄ λ©€ν‹°λͺ¨λ‹¬ λͺ¨λΈ GPT-4oλŠ” 특히 μ˜€λ””μ˜€ μ„±λŠ₯이 λΉ„μ•½μ μœΌλ‘œ κ°œμ„ λλŠ”λ°μš”. μ‚¬λžŒμ˜ λ°˜μ‘ 속도와 μœ μ‚¬ν•˜κ²Œ μ˜€λ””μ˜€ 응닡을 κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. 이번 λͺ¨λΈμ˜ 경우 λΉ„μ˜μ–΄κΆŒ λͺ¨λΈμ— λŒ€ν•œ μ„±λŠ₯도 훨씬 κ°œμ„ λμœΌλ©°, GPT-4 Turbo보닀 μ†λ„λŠ” 2λ°°, λΉ„μš©μ€ 0.5λ°° 라고 ν•©λ‹ˆλ‹€.

Data-centric AI company

세상 λͺ¨λ“  데이터λ₯Ό μ°Ύμ•„, μ…€λ ‰νŠΈμŠ€νƒ€λŠ”

AI 라이프사이클을 ν•¨κ»˜ν•˜λŠ” μ˜¬μΈμ› 데이터 ν”Œλž«νΌμž…λ‹ˆλ‹€.



πŸ“‹ 사업 및 제휴 λ¬Έμ˜ contact@selectstar.ai
πŸ“¨ μ½˜ν…μΈ  및 행사 문의 marketing@selectstar.ai