최근 페이스북이나 링크드인에서 게시글을 읽다보면 두가지 용어가 혼용되어 사용되는 것 같습니다. 둘은 이름에서 부터 알 수 있듯이 명백하게 다른 방식 입니다. 두 방식 모두, 두 방법 모두 모델의 성능을 개선하는 데 사용됩니다., 특정 작업이나 문맥에 맞게 모델을 조정하는 데 쓰입니다. 그러다 보니 종종 혼용되어 사용되는 것 같습니다. 두 개의 차이에 대해 적자면 다음과 같다.
미세 조정(fine-tuning)
•
기존 모델에 새로운 정보를 추가하는 것이 아니라, 모델의 행동을 변경하는 데 목적이 있습니다.
•
미세 조정의 전형적인 사용 사례는 모델의 특정 반응을 보장하거나, 프롬프트의 연쇄를 필요로 하는 복잡한 출력을 생성하는 것입니다.
•
또한, 미세 조정은 많은 사용 사례에 대해 필요한 토큰 수를 줄이거나 요청의 지연 시간을 단축시킬 수 있습니다.
검색-증강 생성(Retrieval-augmented Generation, RAG)
•
새로운 지식을 모델에 추가하려면 RAG을 사용해야 합니다.
•
RAG는 실제로 새로운 지식을 추가하는 것이 아니라, 요청에 사용된 프롬프트에 관련 정보를 제공합니다. 그런 다음 모델은 해당 데이터를 사용하여 사용자의 질문에 응답합니다.
•
실제 데이터셋을 사용한 실험에서 미세 조정된 모델과 RAG를 통합한 기본 모델의 정확도를 비교한 결과, 미세 조정된 모델의 정확도는 0%인 반면, RAG를 통합한 모델의 정확도는 95%였습니다. 이는 미세 조정이 모델에 새로운 지식을 추가하지 않음을 분명히 보여줍니다.
차이점:
•
목적과 작동 방식: 미세 조정은 기존 모델의 행동을 조정하거나 특화시키는 데 중점을 두는 반면, RAG는 외부 데이터 소스를 검색하여 모델에 추가 정보를 제공합니다.
•
지식 통합: RAG는 새로운 지식을 모델에 통합하는 것처럼 보이지만, 실제로는 모델에 직접 지식을 추가하지 않고 검색 결과를 활용합니다. 반면, 미세 조정은 기존 모델을 변형시킵니다.
이들이 혼동되는 이유는 둘 다 모델의 출력을 개선하기 위해 사용되며, 특정 상황에서 비슷한 결과를 낼 수 있기 때문입니다. 하지만, 기본적인 목적과 작동 방식에서 중요한 차이가 있습니다. RAG는 외부 정보를 활용하여 응답을 생성하는 반면, 미세 조정은 모델 자체의 지식과 학습 방식을 조정합니다.