[AI Search Solution] RAG = LLM + Vector Search Part 2

[AI Search Solution] RAG = LLM + Vector Search Part 2

Tech

Feb 22, 2024

πŸ“š LLM μ΄λž€?

πŸ“š LLM μ΄λž€?

μ§€λ‚œ 1νŽΈμ— 이어 μš°μ„  LLM μ΄λž€ 무엇인지 기본적인 정보λ₯Ό μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

LLM은 Large Language Model의 μ•½μžλ‘œ, λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈμ΄λΌ 뢈리고 μžˆμŠ΅λ‹ˆλ‹€. λ”₯λŸ¬λ‹μ„ 기반으둜 κ΅¬μΆ•λœ μžμ—°μ–΄ 처리 λͺ¨λΈλ‘œ, λŒ€λŸ‰μ˜ ν…μŠ€νŠΈ 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅λ©λ‹ˆλ‹€. λ”₯λŸ¬λ‹ λ³€ν˜• 쀑 ν•˜λ‚˜μΈ 트랜슀포머(Transformer) μ•„ν‚€ν…μ²˜λ₯Ό 기반으둜 ν•˜λŠ” λͺ¨λΈλ‘œ, μ–Έμ–΄μ˜ ꡬ쑰와 νŒ¨ν„΄μ„ μ΄ν•΄ν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ μžμ—°μ–΄ 처리 κΈ°μˆ μ„ ν™œμš©ν•©λ‹ˆλ‹€. λŒ€ν™”ν˜• AI μ‹œμŠ€ν…œ, ν…μŠ€νŠΈ 생성, 기계 λ²ˆμ—­, μš”μ•½, μ§ˆμ˜μ‘λ‹΅ λ“±μ˜ λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ‚¬μš©λ˜κ³  있으며 이λ₯Ό ν™œμš©ν•˜μ—¬ κΈ€ μž‘μ„± 보쑰, 의료 기둝 뢄석, 기사 생성, μ‚¬μš©μž μ§ˆλ¬Έμ— μ •ν™•ν•œ 닡변을 μ œκ³΅ν•˜λŠ” λ“± μ‚¬λžŒμ΄ 직접 ν•΄μ•Ό ν–ˆλ˜ 일듀을 LLM을 톡해 μ†μ‰½κ²Œ 도움 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

LLM은 λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ 데이터셋을 μ‚¬μš©ν•˜μ—¬ 사전 ν•™μŠ΅λ˜λ©°, νŠΉμ • μž‘μ—…μ˜ λͺ©μ μ— 맞게 파인 νŠœλ‹ν•©λ‹ˆλ‹€. 사전 ν•™μŠ΅ λ‹¨κ³„μ—μ„œλŠ” λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ μ½”νΌμŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ–Έμ–΄ λͺ¨λΈμ΄ μ–Έμ–΄μ˜ νŠΉμ„±κ³Ό ꡬ쑰λ₯Ό νŒŒμ•…ν•˜λŠ” ꡬ쑰둜 μ„€κ³„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ μ½”νΌμŠ€λž€ λ§Žμ€ μ–‘μ˜ ν…μŠ€νŠΈ 데이터λ₯Ό μ˜λ―Έν•˜λŠ” 말둜, 언어에 λŒ€ν•œ λ‹€μ–‘ν•œ λ§₯락과 λ¬Έλ§₯을 μ΄ν•΄ν•˜κ³  ν•™μŠ΅ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λͺ¨λΈμ΄ μ–Έμ–΄μ˜ ꡬ쑰, 문법, 의미, λ¬Έλ§₯ 등을 ν•™μŠ΅ν•˜μ—¬ 언어에 λŒ€ν•œ 이해와 생성 λŠ₯λ ₯을 ν–₯상할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ§€λ‚œ 1νŽΈμ— 이어 μš°μ„  LLM μ΄λž€ 무엇인지 기본적인 정보λ₯Ό μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

LLM은 Large Language Model의 μ•½μžλ‘œ, λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈμ΄λΌ 뢈리고 μžˆμŠ΅λ‹ˆλ‹€. λ”₯λŸ¬λ‹μ„ 기반으둜 κ΅¬μΆ•λœ μžμ—°μ–΄ 처리 λͺ¨λΈλ‘œ, λŒ€λŸ‰μ˜ ν…μŠ€νŠΈ 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅λ©λ‹ˆλ‹€. λ”₯λŸ¬λ‹ λ³€ν˜• 쀑 ν•˜λ‚˜μΈ 트랜슀포머(Transformer) μ•„ν‚€ν…μ²˜λ₯Ό 기반으둜 ν•˜λŠ” λͺ¨λΈλ‘œ, μ–Έμ–΄μ˜ ꡬ쑰와 νŒ¨ν„΄μ„ μ΄ν•΄ν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ μžμ—°μ–΄ 처리 κΈ°μˆ μ„ ν™œμš©ν•©λ‹ˆλ‹€. λŒ€ν™”ν˜• AI μ‹œμŠ€ν…œ, ν…μŠ€νŠΈ 생성, 기계 λ²ˆμ—­, μš”μ•½, μ§ˆμ˜μ‘λ‹΅ λ“±μ˜ λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ‚¬μš©λ˜κ³  있으며 이λ₯Ό ν™œμš©ν•˜μ—¬ κΈ€ μž‘μ„± 보쑰, 의료 기둝 뢄석, 기사 생성, μ‚¬μš©μž μ§ˆλ¬Έμ— μ •ν™•ν•œ 닡변을 μ œκ³΅ν•˜λŠ” λ“± μ‚¬λžŒμ΄ 직접 ν•΄μ•Ό ν–ˆλ˜ 일듀을 LLM을 톡해 μ†μ‰½κ²Œ 도움 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

LLM은 λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ 데이터셋을 μ‚¬μš©ν•˜μ—¬ 사전 ν•™μŠ΅λ˜λ©°, νŠΉμ • μž‘μ—…μ˜ λͺ©μ μ— 맞게 파인 νŠœλ‹ν•©λ‹ˆλ‹€. 사전 ν•™μŠ΅ λ‹¨κ³„μ—μ„œλŠ” λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ μ½”νΌμŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ μ–Έμ–΄ λͺ¨λΈμ΄ μ–Έμ–΄μ˜ νŠΉμ„±κ³Ό ꡬ쑰λ₯Ό νŒŒμ•…ν•˜λŠ” ꡬ쑰둜 μ„€κ³„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ μ½”νΌμŠ€λž€ λ§Žμ€ μ–‘μ˜ ν…μŠ€νŠΈ 데이터λ₯Ό μ˜λ―Έν•˜λŠ” 말둜, 언어에 λŒ€ν•œ λ‹€μ–‘ν•œ λ§₯락과 λ¬Έλ§₯을 μ΄ν•΄ν•˜κ³  ν•™μŠ΅ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λͺ¨λΈμ΄ μ–Έμ–΄μ˜ ꡬ쑰, 문법, 의미, λ¬Έλ§₯ 등을 ν•™μŠ΅ν•˜μ—¬ 언어에 λŒ€ν•œ 이해와 생성 λŠ₯λ ₯을 ν–₯상할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“‚ LLM μ£Όμš” ν™œμš© 사둀

πŸ“‚ LLM μ£Όμš” ν™œμš© 사둀

LLM은 λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ‚¬μš©λ˜κ³  μžˆμ§€λ§Œ, 그쀑 μ§ˆμ˜μ— λ§žλŠ” 닡변을 μƒμ„±ν•˜λŠ” λΆ„μ•Όμ—μ„œ ν™œλ°œν•˜κ²Œ μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 질의 λ§žμΆ€ν˜• 닡변은 μ‚¬μš©μžκ°€ μ œμ‹œν•œ νŠΉμ • μ§ˆλ¬Έμ— λŒ€ν•΄ 직접적이고 μ •ν™•ν•˜κ²Œ λ‹΅λ³€ν•˜μ—¬ μ •λ³΄λ‚˜ 해결책을 μ œμ‹œν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. μ΄λŠ” μ§ˆλ¬Έμ— λŒ€ν•œ μ˜λ„λ₯Ό κ³ λ €ν•˜κ³  μžˆμ–΄μ•Ό ν•˜λ©° 질문의 λ¬Έλ§₯κ³Ό κ΄€λ ¨λœ 정보λ₯Ό ν¬ν•¨ν•˜κ³  μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

질문의 μ˜λ„ νŒŒμ•…? λ¬Έλ§₯에 λ§žλŠ” λ‹΅λ³€? μš°λ¦¬κ°€ 2회 차에 걸쳐 닀룬 의미 기반 검색과 μ—°κ²°λ˜λŠ” λ‚΄μš©μΈλ°μš”, κ²°κ΅­ 의미 기반 검색은 μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ—μ„œ μ˜λ„μ™€ λ§₯락을 νŒŒμ•…ν•΄μ„œ λ‹΅λ³€ν•˜λŠ” LLM을 톡해 κ°€λŠ₯ν–ˆλ‹€λŠ” 것을 μ•Œ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 졜근 λ§ˆμΈμ¦ˆμ•€μ»΄νΌλ‹ˆ(ν˜„ μ œλ…Ό)λŠ” λ”₯μ„œν•‘μ„ ν™œμš©ν•œ λ¬Έμ„œ λ‚΄ 의미 기반 κ²€μƒ‰μœΌλ‘œ ν–‰μ •μ•ˆμ „λΆ€ β€˜μ΄ˆκ±°λŒ€ μ–Έμ–΄λͺ¨λΈ ν–‰μ • 업무 μ μš©β€™ 사업에 μ°Έμ—¬ν•˜μ—¬ λ¬Έμ„œ ν™œμš© ν˜μ‹ μ˜ 곡을 인정받아 ν–‰μ •μ•ˆμ „λΆ€ μž₯κ΄€ ν‘œμ°½μž₯을 받기도 ν–ˆμŠ΅λ‹ˆλ‹€. 여기에도 LLM이 큰 역할을 ν•΄μ£Όμ—ˆλŠ”λ°μš”.

κ·Έλ ‡λ‹€λ©΄ LLM은 μ–΄λ–»κ²Œ 질의 λ§žμΆ€ν˜• 닡변을 생성할 수 μžˆλŠ” κ±ΈκΉŒμš”? ν–‰μ •μ•ˆμ „λΆ€ ν‘œμ°½μ„ λ°›κ²Œ ν•΄ μ€€ λ”₯μ„œν•‘μ˜ κ³΅λ¬Έμ„œ 쀑 법λ₯  λ¬Έμ„œ 의미 기반 검색 사둀λ₯Ό 톡해 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 

LLM은 λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ‚¬μš©λ˜κ³  μžˆμ§€λ§Œ, 그쀑 μ§ˆμ˜μ— λ§žλŠ” 닡변을 μƒμ„±ν•˜λŠ” λΆ„μ•Όμ—μ„œ ν™œλ°œν•˜κ²Œ μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 질의 λ§žμΆ€ν˜• 닡변은 μ‚¬μš©μžκ°€ μ œμ‹œν•œ νŠΉμ • μ§ˆλ¬Έμ— λŒ€ν•΄ 직접적이고 μ •ν™•ν•˜κ²Œ λ‹΅λ³€ν•˜μ—¬ μ •λ³΄λ‚˜ 해결책을 μ œμ‹œν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. μ΄λŠ” μ§ˆλ¬Έμ— λŒ€ν•œ μ˜λ„λ₯Ό κ³ λ €ν•˜κ³  μžˆμ–΄μ•Ό ν•˜λ©° 질문의 λ¬Έλ§₯κ³Ό κ΄€λ ¨λœ 정보λ₯Ό ν¬ν•¨ν•˜κ³  μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

질문의 μ˜λ„ νŒŒμ•…? λ¬Έλ§₯에 λ§žλŠ” λ‹΅λ³€? μš°λ¦¬κ°€ 2회 차에 걸쳐 닀룬 의미 기반 검색과 μ—°κ²°λ˜λŠ” λ‚΄μš©μΈλ°μš”, κ²°κ΅­ 의미 기반 검색은 μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ—μ„œ μ˜λ„μ™€ λ§₯락을 νŒŒμ•…ν•΄μ„œ λ‹΅λ³€ν•˜λŠ” LLM을 톡해 κ°€λŠ₯ν–ˆλ‹€λŠ” 것을 μ•Œ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 졜근 λ§ˆμΈμ¦ˆμ•€μ»΄νΌλ‹ˆ(ν˜„ μ œλ…Ό)λŠ” λ”₯μ„œν•‘μ„ ν™œμš©ν•œ λ¬Έμ„œ λ‚΄ 의미 기반 κ²€μƒ‰μœΌλ‘œ ν–‰μ •μ•ˆμ „λΆ€ β€˜μ΄ˆκ±°λŒ€ μ–Έμ–΄λͺ¨λΈ ν–‰μ • 업무 μ μš©β€™ 사업에 μ°Έμ—¬ν•˜μ—¬ λ¬Έμ„œ ν™œμš© ν˜μ‹ μ˜ 곡을 인정받아 ν–‰μ •μ•ˆμ „λΆ€ μž₯κ΄€ ν‘œμ°½μž₯을 받기도 ν–ˆμŠ΅λ‹ˆλ‹€. 여기에도 LLM이 큰 역할을 ν•΄μ£Όμ—ˆλŠ”λ°μš”.

κ·Έλ ‡λ‹€λ©΄ LLM은 μ–΄λ–»κ²Œ 질의 λ§žμΆ€ν˜• 닡변을 생성할 수 μžˆλŠ” κ±ΈκΉŒμš”? ν–‰μ •μ•ˆμ „λΆ€ ν‘œμ°½μ„ λ°›κ²Œ ν•΄ μ€€ λ”₯μ„œν•‘μ˜ κ³΅λ¬Έμ„œ 쀑 법λ₯  λ¬Έμ„œ 의미 기반 검색 사둀λ₯Ό 톡해 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 

πŸ“‘ λ§žμΆ€ν˜• AI λͺ¨λΈ ꡬ좕을 μœ„ν•œ λ ˆμ‹œν”Ό: 4κ°€μ§€ 단계

πŸ“‘ λ§žμΆ€ν˜• AI λͺ¨λΈ ꡬ좕을 μœ„ν•œ λ ˆμ‹œν”Ό: 4κ°€μ§€ 단계

LLM이 질의 λ§žμΆ€ν˜• 닡변을 생성할 수 μžˆλ„λ‘ ν•˜λŠ” λ ˆμ‹œν”Όμ—λŠ” νŒŒμΈνŠœλ‹(Fine-Tuning)κ³Ό κ°•ν™” ν•™μŠ΅μ΄λΌλŠ” 2κ°€μ§€μ˜ 핡심 비법이 μžˆμŠ΅λ‹ˆλ‹€.

파인 νŠœλ‹μ€ νŠΉμ • λ„λ©”μΈμ΄λ‚˜ μž‘μ—…μ— λ§žλ„λ‘ κ°€μ€‘μΉ˜λ₯Ό μ‘°μ •ν•˜λŠ” 과정이라고 κ°„λ‹¨νžˆ 정리할 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ·Έ 과정은 κ²°μ½” κ°„λ‹¨ν•˜μ§€ μ•Šκ² μ£ ?

μ–΄λ–»κ²Œ λ”₯μ„œν•‘μ΄ ν–‰μ •μ•ˆμ „λΆ€μ— λ”± λ§žλŠ” μ˜·μ„ μž…κ²Œ λ˜μ—ˆλŠ”μ§€ 단계 λ³„λ‘œ μ†Œκ°œν•΄ λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

1. Pre-Trained λͺ¨λΈ 선택

μ–Έμ–΄ λͺ¨λΈμ˜ 기초λ₯Ό λ§ˆλ ¨ν•˜κΈ° μœ„ν•΄, 이미 ν•™μŠ΅λœ(pre-trained) λͺ¨λΈμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. 사전 ν•™μŠ΅λœ λͺ¨λΈμ€ λ‹€μ–‘ν•œ μ–Έμ–΄ μž‘μ—…μ— ν•„μš”ν•œ 기본적인 μ–Έμ–΄ 이해와 생성 λŠ₯λ ₯을 κ°–μΆ”κ³  μžˆμŠ΅λ‹ˆλ‹€. 사전 ν•™μŠ΅ λͺ¨λΈμ„ 선택할 λ•ŒλŠ” 과제의 νŠΉμ„± / λͺ¨λΈ 크기 / ν•™μŠ΅ν•œ 데이터 / μ—°μ‚° λ¦¬μ†ŒμŠ€ 등을 κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.

2. νŠΉμ • νƒœμŠ€ν¬ μ§€μ •: μ§ˆμ˜μ‘λ‹΅(QA)

κΈ°λ³Έ λͺ¨λΈμ„ νŠΉμ • μž‘μ—…μ— 맞게 μ‘°μ •ν•˜λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. ν–‰μ •μ•ˆμ „λΆ€ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ§ˆμ˜μ‘λ‹΅ μ‹œμŠ€ν…œμ„ ꡬ좕이 ν•„μš”ν–ˆκ³ , νƒœμŠ€ν¬μ— 맞좰 λͺ¨λΈμ„ μ„ΈλΆ€ μ‘°μ •ν•˜μ—¬ νŠΉμ • μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 생성할 수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μ–‘ν•œ λ„λ©”μΈμ˜ 데이터λ₯Ό μ§ˆμ˜μ‘λ‹΅ 쌍으둜 λ³€ν™˜ν•˜μ—¬ ν•™μŠ΅ν•˜λŠ” 단계λ₯Ό 거쳀으며, μ˜€ν”ˆλœ 데이터λ₯Ό 자체 μ „μ²˜λ¦¬ 과정을 톡해 μ •μ œν•˜λŠ” 단계λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. ν•œκ΅­μ–΄λ‘œ μ„œλΉ„μŠ€κ°€ ν•„μš”ν•˜λ‹ˆ, ν•œκ΅­μ–΄λ‘œ 된 μ§ˆμ˜μ‘λ‹΅ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 있게 μ‘°μ •ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λͺ¨λΈμ€ ν•œκ΅­μ–΄ μ§ˆλ¬Έμ„ μ΄ν•΄ν•˜κ³  λ‹΅λ³€ν•˜λŠ” λŠ₯λ ₯도 κ°–κ²Œ 된 것이죠!

3. 도메인 νŠΉν™” ν•™μŠ΅

도메인 νŠΉν™” ν•™μŠ΅ 단계λ₯Ό 톡해 법λ₯ , ν–‰μ •κ³Ό 같은 νŠΉμˆ˜ν•œ λ„λ©”μΈμ—μ„œλ„ μ•Œμ•„μ„œ 잘 μ„ΌμŠ€ 있게 μ§ˆλ¬Έμ„ 더 잘 μ΄ν•΄ν•˜κ³  닡변을 μ œκ³΅ν•  수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

법λ₯ , ν–‰μ •, 금육 λ“± νŠΉμ • 도메인에 λŒ€ν•œ 이해λ₯Ό 높이기 μœ„ν•΄, μ˜€ν”ˆ λ°μ΄ν„°μ—μ„œ ν•΄λ‹Ή λΆ„μ•Όμ—μ„œ 자주 μ‚¬μš©λ˜λŠ” μš©μ–΄μ™€ λ¬Έμž₯ ꡬ쑰λ₯Ό μ§ˆμ˜μ‘λ‹΅ μŒμ„ κ΅¬μ„±ν•˜μ—¬ ν•™μŠ΅μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

4. λ§žμΆ€ν˜• μΆ”κ°€ ν•™μŠ΅

λ§ˆμ§€λ§‰μœΌλ‘œ, κ³ κ°μ‚¬μ˜ νŠΉμ • 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ λ”μš± μ΅œμ ν™”ν•©λ‹ˆλ‹€. ν–‰μ •μ•ˆμ „λΆ€μ—μ„œ κ³΅κ°œν•œ 법λ₯ , ν–‰μ • λ¬Έμ„œλ₯Ό ν™œμš©ν•˜μ—¬ QAμŒμ„ μƒμ„±ν•˜μ—¬ ν•™μŠ΅μ‹œμΌ°κ³ , 이 과정을 톡해 λͺ¨λΈμ€ 고객의 μš”κ΅¬μ‚¬ν•­κ³Ό 데이터 νŠΉμ„±μ— λ§žμΆ€ν™”λ˜μ–΄ 더 μ •ν™•ν•˜κ³  효율적인 좜λ ₯을 μ œκ³΅ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

질의 λ§žμΆ€ν˜• 닡변을 μœ„ν•œ λ§ˆμ§€λ§‰ 비법은 κ°•ν™”ν•™μŠ΅μΈλ°μš”, κ°•ν™”ν•™μŠ΅ 쀑 DPO 기법을 μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€. DPO(Direct Preference Optimization)λŠ” λͺ©ν‘œν•˜λŠ” μ„±λŠ₯ μ§€ν‘œμ— μ§μ ‘μ μœΌλ‘œ 영ν–₯을 주도둝 ν•™μŠ΅μ‹œν‚€λŠ” λ°©λ²•μž…λ‹ˆλ‹€. μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ„ 톡해 ν•™μŠ΅ν•˜κ³  νŠΉμ • 상황에 따라 행동을 μ‘°μ •ν•˜κ³  μ μ‘ν•˜κΈ°λ„ ν•˜λŠ” μœ μ—°μ„±μ„ μ‹¬μ–΄μ£ΌλŠ” 단계라고 생각해 μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.


파인 νŠœλ‹μ—μ„œλŠ” μ§ˆλ¬Έμ— λŒ€ν•œ ν•˜λ‚˜μ˜ λŒ€λ‹΅ 쌍으둜 이뀄진 Q-A 쌍의 데이터λ₯Ό ν™œμš©ν–ˆλ‹€λ©΄, κ°•ν™”ν•™μŠ΅μ—μ„œλŠ” ν•˜λ‚˜μ˜ μ§ˆλ¬Έμ— λŒ€ν•œ 쒋은 λ‹΅λ³€κ³Ό λ‚˜μœ λ‹΅λ³€ 두 κ°€μ§€ λͺ¨λ‘ ν•™μŠ΅μ— μ‚¬μš©ν•©λ‹ˆλ‹€. 이 ν”Όλ“œλ°±μ„ 기반으둜 λͺ¨λΈμ΄ '쒋은' 응닡을 더 많이 μƒμ„±ν•˜λ„λ‘ ν•™μŠ΅μ‹œν‚€κ³ , 이λ₯Ό 톡해 λͺ¨λΈμ˜ 좜λ ₯을 μ‘°μ •ν•˜μ—¬, μ‚¬μš©μžκ°€ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό λ”μš± μ •ν™•ν•˜κ²Œ 달성할 수 μžˆλ„λ‘ ν•˜μ—¬ 법λ₯ , ν–‰μ • λ“±μ˜ νŠΉμˆ˜ν•œ λ„λ©”μΈμ—μ„œλ„ λ”₯μ„œν•‘μ€ μ‚¬μš©μžκ°€ μ›ν•˜λŠ” 닡변을 μ²™μ²™ ν•  수 μžˆλŠ” λ˜‘λ˜‘μ΄κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

LLM은 μ–΄λ–€ 역할을 ν•˜λŠ” μΉœκ΅¬μΈμ§€, μ–΄λ–€ λ ˆμ‹œν”Όλ‘œ 법λ₯ , ν–‰μ • 도메인에도 λ˜‘λ˜‘ν•œ 닡변을 ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ΄€λŠ”λ°μš”.

κ·Έλ ‡λ‹€λ©΄ 검색 증강 생성 RAGλŠ” μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ μ•Œμ•„λ³ΌκΉŒμš”?

LLM이 질의 λ§žμΆ€ν˜• 닡변을 생성할 수 μžˆλ„λ‘ ν•˜λŠ” λ ˆμ‹œν”Όμ—λŠ” νŒŒμΈνŠœλ‹(Fine-Tuning)κ³Ό κ°•ν™” ν•™μŠ΅μ΄λΌλŠ” 2κ°€μ§€μ˜ 핡심 비법이 μžˆμŠ΅λ‹ˆλ‹€.

파인 νŠœλ‹μ€ νŠΉμ • λ„λ©”μΈμ΄λ‚˜ μž‘μ—…μ— λ§žλ„λ‘ κ°€μ€‘μΉ˜λ₯Ό μ‘°μ •ν•˜λŠ” 과정이라고 κ°„λ‹¨νžˆ 정리할 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ·Έ 과정은 κ²°μ½” κ°„λ‹¨ν•˜μ§€ μ•Šκ² μ£ ?

μ–΄λ–»κ²Œ λ”₯μ„œν•‘μ΄ ν–‰μ •μ•ˆμ „λΆ€μ— λ”± λ§žλŠ” μ˜·μ„ μž…κ²Œ λ˜μ—ˆλŠ”μ§€ 단계 λ³„λ‘œ μ†Œκ°œν•΄ λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

1. Pre-Trained λͺ¨λΈ 선택

μ–Έμ–΄ λͺ¨λΈμ˜ 기초λ₯Ό λ§ˆλ ¨ν•˜κΈ° μœ„ν•΄, 이미 ν•™μŠ΅λœ(pre-trained) λͺ¨λΈμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. 사전 ν•™μŠ΅λœ λͺ¨λΈμ€ λ‹€μ–‘ν•œ μ–Έμ–΄ μž‘μ—…μ— ν•„μš”ν•œ 기본적인 μ–Έμ–΄ 이해와 생성 λŠ₯λ ₯을 κ°–μΆ”κ³  μžˆμŠ΅λ‹ˆλ‹€. 사전 ν•™μŠ΅ λͺ¨λΈμ„ 선택할 λ•ŒλŠ” 과제의 νŠΉμ„± / λͺ¨λΈ 크기 / ν•™μŠ΅ν•œ 데이터 / μ—°μ‚° λ¦¬μ†ŒμŠ€ 등을 κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.

2. νŠΉμ • νƒœμŠ€ν¬ μ§€μ •: μ§ˆμ˜μ‘λ‹΅(QA)

κΈ°λ³Έ λͺ¨λΈμ„ νŠΉμ • μž‘μ—…μ— 맞게 μ‘°μ •ν•˜λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. ν–‰μ •μ•ˆμ „λΆ€ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ§ˆμ˜μ‘λ‹΅ μ‹œμŠ€ν…œμ„ ꡬ좕이 ν•„μš”ν–ˆκ³ , νƒœμŠ€ν¬μ— 맞좰 λͺ¨λΈμ„ μ„ΈλΆ€ μ‘°μ •ν•˜μ—¬ νŠΉμ • μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 생성할 수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μ–‘ν•œ λ„λ©”μΈμ˜ 데이터λ₯Ό μ§ˆμ˜μ‘λ‹΅ 쌍으둜 λ³€ν™˜ν•˜μ—¬ ν•™μŠ΅ν•˜λŠ” 단계λ₯Ό 거쳀으며, μ˜€ν”ˆλœ 데이터λ₯Ό 자체 μ „μ²˜λ¦¬ 과정을 톡해 μ •μ œν•˜λŠ” 단계λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. ν•œκ΅­μ–΄λ‘œ μ„œλΉ„μŠ€κ°€ ν•„μš”ν•˜λ‹ˆ, ν•œκ΅­μ–΄λ‘œ 된 μ§ˆμ˜μ‘λ‹΅ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 있게 μ‘°μ •ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λͺ¨λΈμ€ ν•œκ΅­μ–΄ μ§ˆλ¬Έμ„ μ΄ν•΄ν•˜κ³  λ‹΅λ³€ν•˜λŠ” λŠ₯λ ₯도 κ°–κ²Œ 된 것이죠!

3. 도메인 νŠΉν™” ν•™μŠ΅

도메인 νŠΉν™” ν•™μŠ΅ 단계λ₯Ό 톡해 법λ₯ , ν–‰μ •κ³Ό 같은 νŠΉμˆ˜ν•œ λ„λ©”μΈμ—μ„œλ„ μ•Œμ•„μ„œ 잘 μ„ΌμŠ€ 있게 μ§ˆλ¬Έμ„ 더 잘 μ΄ν•΄ν•˜κ³  닡변을 μ œκ³΅ν•  수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

법λ₯ , ν–‰μ •, 금육 λ“± νŠΉμ • 도메인에 λŒ€ν•œ 이해λ₯Ό 높이기 μœ„ν•΄, μ˜€ν”ˆ λ°μ΄ν„°μ—μ„œ ν•΄λ‹Ή λΆ„μ•Όμ—μ„œ 자주 μ‚¬μš©λ˜λŠ” μš©μ–΄μ™€ λ¬Έμž₯ ꡬ쑰λ₯Ό μ§ˆμ˜μ‘λ‹΅ μŒμ„ κ΅¬μ„±ν•˜μ—¬ ν•™μŠ΅μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

4. λ§žμΆ€ν˜• μΆ”κ°€ ν•™μŠ΅

λ§ˆμ§€λ§‰μœΌλ‘œ, κ³ κ°μ‚¬μ˜ νŠΉμ • 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ λ”μš± μ΅œμ ν™”ν•©λ‹ˆλ‹€. ν–‰μ •μ•ˆμ „λΆ€μ—μ„œ κ³΅κ°œν•œ 법λ₯ , ν–‰μ • λ¬Έμ„œλ₯Ό ν™œμš©ν•˜μ—¬ QAμŒμ„ μƒμ„±ν•˜μ—¬ ν•™μŠ΅μ‹œμΌ°κ³ , 이 과정을 톡해 λͺ¨λΈμ€ 고객의 μš”κ΅¬μ‚¬ν•­κ³Ό 데이터 νŠΉμ„±μ— λ§žμΆ€ν™”λ˜μ–΄ 더 μ •ν™•ν•˜κ³  효율적인 좜λ ₯을 μ œκ³΅ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

질의 λ§žμΆ€ν˜• 닡변을 μœ„ν•œ λ§ˆμ§€λ§‰ 비법은 κ°•ν™”ν•™μŠ΅μΈλ°μš”, κ°•ν™”ν•™μŠ΅ 쀑 DPO 기법을 μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€. DPO(Direct Preference Optimization)λŠ” λͺ©ν‘œν•˜λŠ” μ„±λŠ₯ μ§€ν‘œμ— μ§μ ‘μ μœΌλ‘œ 영ν–₯을 주도둝 ν•™μŠ΅μ‹œν‚€λŠ” λ°©λ²•μž…λ‹ˆλ‹€. μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ„ 톡해 ν•™μŠ΅ν•˜κ³  νŠΉμ • 상황에 따라 행동을 μ‘°μ •ν•˜κ³  μ μ‘ν•˜κΈ°λ„ ν•˜λŠ” μœ μ—°μ„±μ„ μ‹¬μ–΄μ£ΌλŠ” 단계라고 생각해 μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.


파인 νŠœλ‹μ—μ„œλŠ” μ§ˆλ¬Έμ— λŒ€ν•œ ν•˜λ‚˜μ˜ λŒ€λ‹΅ 쌍으둜 이뀄진 Q-A 쌍의 데이터λ₯Ό ν™œμš©ν–ˆλ‹€λ©΄, κ°•ν™”ν•™μŠ΅μ—μ„œλŠ” ν•˜λ‚˜μ˜ μ§ˆλ¬Έμ— λŒ€ν•œ 쒋은 λ‹΅λ³€κ³Ό λ‚˜μœ λ‹΅λ³€ 두 κ°€μ§€ λͺ¨λ‘ ν•™μŠ΅μ— μ‚¬μš©ν•©λ‹ˆλ‹€. 이 ν”Όλ“œλ°±μ„ 기반으둜 λͺ¨λΈμ΄ '쒋은' 응닡을 더 많이 μƒμ„±ν•˜λ„λ‘ ν•™μŠ΅μ‹œν‚€κ³ , 이λ₯Ό 톡해 λͺ¨λΈμ˜ 좜λ ₯을 μ‘°μ •ν•˜μ—¬, μ‚¬μš©μžκ°€ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό λ”μš± μ •ν™•ν•˜κ²Œ 달성할 수 μžˆλ„λ‘ ν•˜μ—¬ 법λ₯ , ν–‰μ • λ“±μ˜ νŠΉμˆ˜ν•œ λ„λ©”μΈμ—μ„œλ„ λ”₯μ„œν•‘μ€ μ‚¬μš©μžκ°€ μ›ν•˜λŠ” 닡변을 μ²™μ²™ ν•  수 μžˆλŠ” λ˜‘λ˜‘μ΄κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

LLM은 μ–΄λ–€ 역할을 ν•˜λŠ” μΉœκ΅¬μΈμ§€, μ–΄λ–€ λ ˆμ‹œν”Όλ‘œ 법λ₯ , ν–‰μ • 도메인에도 λ˜‘λ˜‘ν•œ 닡변을 ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ΄€λŠ”λ°μš”.

κ·Έλ ‡λ‹€λ©΄ 검색 증강 생성 RAGλŠ” μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ μ•Œμ•„λ³ΌκΉŒμš”?

πŸ“š 검색 증강 생성 RAGλž€?

πŸ“š 검색 증강 생성 RAGλž€?

RAGλŠ” Retrieval-Augmented Generation의 μ•½μžλ‘œ μ–Έμ–΄λͺ¨λΈμ΄ νŠΉμ • λ¬Έμ„œμ— κ·Όκ±°ν•˜μ—¬ 보닀 μ •ν™•ν•œ 닡변을 ν•  수 μžˆλ„λ‘ ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 자체 κ΅¬μΆ•ν•œ DBλ‚˜ μ™ΈλΆ€ DBμ—μ„œ μ‚¬μš©μž μ§ˆμ˜μ— λŒ€ν•΄ λ‹΅λ³€ν•  수 μžˆλŠ” κ·Όκ±° λ¬Έμ„œλ₯Ό μ°Ύκ³ , 이λ₯Ό LLMμ—κ²Œ μ „λ‹¬ν•˜μ—¬ ν™˜κ° ν˜„μƒ (hallucination) 이 쀄어든 닡변을 생성할 수 있게 λ©λ‹ˆλ‹€.

DeepSearfing Demo_RAG μ˜ˆμ‹œ

이번 μ‚¬λ‘€μ—μ„œλ„ RAGκ°€ μ‚¬μš©λ˜μ—ˆλŠ”λ°μš”, λ”₯μ„œν•‘μ€ 닡변에 ν•΄λ‹Ήλ˜λŠ” λ¬Έμ„œλ₯Ό λ…ΈμΆœν•΄ μ£ΌλŠ” κΈ°λŠ₯도 λ³΄μœ ν•˜κ³  μžˆμ–΄ ν• λ£¨μ‹œλ„€μ΄μ…˜μ΄λΌ λΆˆλ¦¬λŠ” μ˜€λ‹΅λ³€μ˜ 염렀도 λœμ–΄λ‚Ό 수 μžˆλŠ” 만λŠ₯ λ˜‘λ˜‘μ΄μž…λ‹ˆλ‹€.

λ‹¨μˆœνžˆ RAG와 LLM 두 기술 μš”μ†Œλ₯Ό λΉ„κ΅ν•˜μžλ©΄, 각각 정보λ₯Ό ν™œμš©ν•˜λŠ” 방식에 μžˆμ–΄ 핡심적인 차이가 μžˆμŠ΅λ‹ˆλ‹€.

LLM은 λŒ€λŸ‰μ˜ ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œλΆ€ν„° ν•™μŠ΅λ˜λ©°, μ£Όμ–΄μ§„ μ§ˆλ¬Έμ΄λ‚˜ λͺ…령에 λŒ€ν•΄ ν•™μŠ΅λœ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ 직접 응닡을 μƒμ„±ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λΈμ€ λ‚΄λΆ€μ μœΌλ‘œ μΆ•μ λœ 지식을 μ‚¬μš©ν•˜μ—¬ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 μƒμ„±ν•˜λ©°, νŠΉμ •ν•œ μ™ΈλΆ€ λ¬Έμ„œλ₯Ό κ²€μƒ‰ν•˜λŠ” 과정을 κ±°μΉ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

반면, RAG(Retrieval-Augmented Generation)λŠ” 정보 검색과 생성을 κ²°ν•©ν•˜μ—¬ μž‘λ™ν•˜λŠ” 기술둜, μ§ˆμ˜μ‘λ‹΅ μ‹œμŠ€ν…œμ„ ν¬ν•¨ν•œ λ‹€μ–‘ν•œ μ–Έμ–΄ 생성 μž‘μ—…μ— μ μš©λ©λ‹ˆλ‹€. RAGλŠ” λ¨Όμ € 질문과 κ΄€λ ¨λœ μ™ΈλΆ€ λ¬Έμ„œλ‚˜ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 벑터 검색을 톡해 μ°Ύμ•„λ‚΄κ³ (β€˜Retrieval’ 단계), κ²€μƒ‰λœ λ¬Έμ„œλ₯Ό λͺ¨λΈμ΄ 응닡을 생성할 λ•Œ μ°Έκ³ ν•˜λ„λ‘ ν•©λ‹ˆλ‹€(β€˜Generation’ 단계). 이 과정을 톡해, RAGλŠ” κ΄€λ ¨μ„± 높은 정보λ₯Ό 기반으둜 μ •ν™•ν•˜κ³  μƒμ„Έν•œ 응닡을 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

RAGλŠ” Retrieval-Augmented Generation의 μ•½μžλ‘œ μ–Έμ–΄λͺ¨λΈμ΄ νŠΉμ • λ¬Έμ„œμ— κ·Όκ±°ν•˜μ—¬ 보닀 μ •ν™•ν•œ 닡변을 ν•  수 μžˆλ„λ‘ ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 자체 κ΅¬μΆ•ν•œ DBλ‚˜ μ™ΈλΆ€ DBμ—μ„œ μ‚¬μš©μž μ§ˆμ˜μ— λŒ€ν•΄ λ‹΅λ³€ν•  수 μžˆλŠ” κ·Όκ±° λ¬Έμ„œλ₯Ό μ°Ύκ³ , 이λ₯Ό LLMμ—κ²Œ μ „λ‹¬ν•˜μ—¬ ν™˜κ° ν˜„μƒ (hallucination) 이 쀄어든 닡변을 생성할 수 있게 λ©λ‹ˆλ‹€.

DeepSearfing Demo_RAG μ˜ˆμ‹œ

이번 μ‚¬λ‘€μ—μ„œλ„ RAGκ°€ μ‚¬μš©λ˜μ—ˆλŠ”λ°μš”, λ”₯μ„œν•‘μ€ 닡변에 ν•΄λ‹Ήλ˜λŠ” λ¬Έμ„œλ₯Ό λ…ΈμΆœν•΄ μ£ΌλŠ” κΈ°λŠ₯도 λ³΄μœ ν•˜κ³  μžˆμ–΄ ν• λ£¨μ‹œλ„€μ΄μ…˜μ΄λΌ λΆˆλ¦¬λŠ” μ˜€λ‹΅λ³€μ˜ 염렀도 λœμ–΄λ‚Ό 수 μžˆλŠ” 만λŠ₯ λ˜‘λ˜‘μ΄μž…λ‹ˆλ‹€.

λ‹¨μˆœνžˆ RAG와 LLM 두 기술 μš”μ†Œλ₯Ό λΉ„κ΅ν•˜μžλ©΄, 각각 정보λ₯Ό ν™œμš©ν•˜λŠ” 방식에 μžˆμ–΄ 핡심적인 차이가 μžˆμŠ΅λ‹ˆλ‹€.

LLM은 λŒ€λŸ‰μ˜ ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œλΆ€ν„° ν•™μŠ΅λ˜λ©°, μ£Όμ–΄μ§„ μ§ˆλ¬Έμ΄λ‚˜ λͺ…령에 λŒ€ν•΄ ν•™μŠ΅λœ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ 직접 응닡을 μƒμ„±ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λΈμ€ λ‚΄λΆ€μ μœΌλ‘œ μΆ•μ λœ 지식을 μ‚¬μš©ν•˜μ—¬ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 μƒμ„±ν•˜λ©°, νŠΉμ •ν•œ μ™ΈλΆ€ λ¬Έμ„œλ₯Ό κ²€μƒ‰ν•˜λŠ” 과정을 κ±°μΉ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

반면, RAG(Retrieval-Augmented Generation)λŠ” 정보 검색과 생성을 κ²°ν•©ν•˜μ—¬ μž‘λ™ν•˜λŠ” 기술둜, μ§ˆμ˜μ‘λ‹΅ μ‹œμŠ€ν…œμ„ ν¬ν•¨ν•œ λ‹€μ–‘ν•œ μ–Έμ–΄ 생성 μž‘μ—…μ— μ μš©λ©λ‹ˆλ‹€. RAGλŠ” λ¨Όμ € 질문과 κ΄€λ ¨λœ μ™ΈλΆ€ λ¬Έμ„œλ‚˜ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 벑터 검색을 톡해 μ°Ύμ•„λ‚΄κ³ (β€˜Retrieval’ 단계), κ²€μƒ‰λœ λ¬Έμ„œλ₯Ό λͺ¨λΈμ΄ 응닡을 생성할 λ•Œ μ°Έκ³ ν•˜λ„λ‘ ν•©λ‹ˆλ‹€(β€˜Generation’ 단계). 이 과정을 톡해, RAGλŠ” κ΄€λ ¨μ„± 높은 정보λ₯Ό 기반으둜 μ •ν™•ν•˜κ³  μƒμ„Έν•œ 응닡을 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

Β©2026 GenON

13F, 2621 Nambusunhwan-ro, Gangnam-gu, Seoul, 06267, Republic of Korea

|

|

Β©2026 GenON

13F, 2621 Nambusunhwan-ro, Gangnam-gu, Seoul, 06267, Republic of Korea

|

|

Β©2026 GenON

13F, 2621 Nambusunhwan-ro, Gangnam-gu, Seoul, 06267, Republic of Korea

|

|