Prompt vs Fine-tuning vs RAG
Haebom
최근 다양한 분들이 인공지능에 관심을 가지면서 평소 IT업계에 별 관심이 없던 분들도 이에대해 다양한 문의를 주시고 계십니다. 실제로 요청에 의해 도움을 몇번 드리기도 하면서 기술적으로 어려운 부분 보다는 지금 우리 서비스 혹은 도메인에 맞는 방법을 찾는 시기 같습니다. 모델의 발전은 계속해서 일어날 것이고 칩셋, 전력량 등에 대한 문제도 결국 시간이 해결해줄 문제라는 확신이 있기도 해서 입니다.
프롬프트 엔지니어링(디자인, 기법... 뭐든)
가장 기본적인 방법으로, 모델에게 원하는 정보를 얻기 위해 적절한 지시사항을 주는 것과 같습니다.
누구나 쉽게 사용할 수 있지만, 모델이 학습한 내용에 크게 의존하므로 최신 정보나 구체적인 내용을 얻는 데는 한계가 있습니다.
파인튜닝(Fine-tuning)
기존 언어 모델에 새로운 정보를 학습시켜 업데이트하는 것으로, 시간과 비용이 많이 들지만 특정 주제에 대해 전문성을 갖출 수 있습니다.
사용자가 원하는 대로 모델을 커스터마이징할 수 있고, 정확도가 높아지는 장점이 있습니다. 하지만 기술적 이해도가 필요하고 많은 데이터가 필요합니다.
RAG(Retrieval Augmented Generation)
언어 모델과 지식 베이스를 결합한 방식으로, 질문에 답할 때 관련 정보를 먼저 수집한 뒤 이를 바탕으로 답변을 생성합니다.
최신 정보가 필요하거나 다양한 주제를 다룰 때 유용하며, 프롬프트 엔지니어링과 파인튜닝의 중간 정도의 난이도와 비용이 듭니다.
RAG의 성능은 벡터 데이터베이스의 영향을 많이 받는데, MyScale이라는 SQL 기반의 벡터 DB를 활용하면 비용 절감과 성능 향상의 이점이 있습니다.
가끔 파인튜닝과 RAG를 사용하면 할루시네이션(즉, 모델이 사실이 아닌 정보를 생성하는 현상)이나 멀티턴 대화의 어려움이 곧 잘 해결될 것이라 기대하는 분들이 있지만 이는 약간 틀립니다. 실제로 위 방법을 적용한다고 LLM이 가지는 고유한 문제점이 해결되진 않기 때문이죠.
할루시네이션: 파인튜닝 과정에서 모델은 제공된 학습 데이터에 매우 의존하게 됩니다. 학습 데이터가 오류를 포함하고 있거나, 충분히 다양하지 않은 경우 모델이 잘못된 정보를 학습하여, 이를 진실로 인식하고 출력할 수 있습니다. RAG의 경우, 외부 정보 소스에서 검색된 데이터의 질과 관련성에 따라 출력의 정확성이 달라질 수 있으며, 이는 때로 할루시네이션을 유발할 수 있습니다.
멀티턴 대화: 멀티턴 대화는 이전 대화의 맥락을 이해하고 이에 적절히 반응하는 능력을 필요로 합니다. 파인튜닝된 모델이나 RAG를 사용할 경우, 대화의 맥락을 모델이 충분히 이해하고 반영하기 위해서는 추가적인 최적화가 필요합니다. 특히, 모델이 각 대화 턴의 연관성을 정확히 파악하지 못하면 대화의 자연스러움이 떨어질 수 있습니다.
오히려 이런 경우를 바로 해결하고 싶으면 Prompt 기법들을 가져다 쓰는게 효용성이 더 높습니다. 이유는 간단한데 들인 비용에 비해 효과가 월등하기 때문입니다. 이는 모델이 좋아질 수록 더더욱 유용해질 것 입니다. 나중엔 의도하면서 말하지 않아도 앵간하면 다 처리해주는 모델들이 나올거구요.
RAG의 경우, 외부 지식 베이스에서 retrieval된 정보가 부정확하거나 불완전할 수 있습니다. 이는 모델이 잘못된 정보를 바탕으로 할루시네이션을 일으키는 원인이 될 수 있죠. 또한 대화의 맥락을 고려하지 않고 단순히 retrieval된 정보에 의존하게 되면, 멀티턴 대화에서 일관성 있는 응답을 하기 어려워집니다.
파인튜닝의 경우, 학습 데이터의 품질과 양에 크게 영향을 받습니다. 데이터가 부족하거나 편향되어 있다면, 모델은 overfitting되어 일반화 성능이 떨어질 수 있습니다. 이는 할루시네이션이나 부적절한 응답으로 이어질 수 있죠. 또한 파인튜닝된 모델은 학습 데이터에 없었던 새로운 주제나 맥락에 대해서는 대처하기 어려울 수 있습니다.
이런 점을 고려했을 때, 가성비 면에서는 프롬프트 엔지니어링이 가장 유리할 수 있습니다. 프롬프트 엔지니어링은 기존 모델의 지식을 최대한 활용하면서도, 사용자가 원하는 방향으로 모델을 유도할 수 있기 때문이죠. 또한 구현이 쉽고 비용이 적게 들어, 다양한 상황에서 빠르게 적용해볼 수 있습니다.
하지만 프로젝트의 요구사항에 따라 RAG나 파인튜닝이 더 적합한 경우도 있을 것입니다. 예를 들어 특정 도메인에 특화된 응답이 필요하다면 파인튜닝이, 실시간으로 최신 정보를 반영해야 한다면 RAG가 더 나은 선택일 수 있습니다.
결국 어떤 방식이 가장 좋을지는 프로젝트의 목적, 데이터의 특성, 가용 자원 등을 종합적으로 고려해 결정해야 할 것 같습니다. 필요에 따라 여러 방식을 함께 사용하는 것도 좋은 전략이 될 수 있겠죠. 프롬프트 엔지니어링으로 기본적인 성능을 확보하고, 파인튜닝이나 RAG를 부분적으로 적용해 보완하는 식으로요.
간단하게 비교하면 다음과 같이 비교할 순 있겠습니다.
기능/특성
프롬프트 엔지니어링
파인튜닝
RAG
필요한 기술 수준
낮음
높음
중간
비용 및 자원
낮음
높음
중간
맞춤화 수준
낮음
높음
중간
데이터 요구사항
없음
높음
중간
최신 정보 업데이트 빈도
낮음
변동 가능
높음
응답 품질
변동 가능
높음
높음
사용 사례
일반적인 질문, 넓은 주제
특화된 응용, 정보 요구
최신 정보 필요, 다양한 주제
구현 용이성
높음
낮음
중간
하지만 위애서도 말했듯이 이 모든게 점점 쉬워질 것 입니다. 실제로 최근 국내외 기업들이 이것들이 모두 가능한 서비스를 하나 둘 내놓고 있습니다. 파인튜닝이나 RAG도 UI로 누구나 할 수 있는 시대가 성큼 성큼 다가오고 있는 것도 사실이라 어떤 방법이 무조건 좋다라는 접근법 혹은 이런 방법을 적용하면 이 문제가 모두 해결된다는 은탄환을 기대하시는 분들에겐 아쉬운 이야기이지만... 현재로선 이정도 알고 접근하시면 좀 더 지금 상황에서 필요한게 무엇인지를 생각할 수 있을 것 같습니다.
👍
2
/haebom
Subscribe
생성형 인공지능은 실제로 기업들에게 어떤 영향을 주고 있을까?
지난번에도 소개드린 a16z의 "기업의 생성형 AI 구축 및 구매 방식의 16가지 변화 (16 Changes to the Way Enterprises Are Building and Buying Generative AI)" 보고서가 발표되었습니다. 2023년 생성형 AI가 소비자 시장을 휩쓸며 10억 달러 이상의 소비를 기록했습니다. 2024년에는 기업 시장에서의 수익 기회가 훨씬 더 클 것으로 예상됩니다. 이번 앤드리슨 호로위츠에서 기업 리더들과의 인터뷰와 설문조사를 통해 그들이 생성형 AI를 어떻게 사용, 구매, 예산 책정하는지를 톺아보는 설문을 공개했습니다. 자세한 수치나 그래프 등은 원문에서 확인하면 될 것 같고 요약하면 다음과 같습니다. (화살표는 제 개인 생각 입니다.) 2023년 평균 지출은 700만 달러였고, 2024년엔 2~5배 증가 예상 ->인공지능 관련 예산 편성 급증 AI 투자를 반복적인 소프트웨어 예산으로 재할당하기 시작 -> 구독 혹은 솔루션 연간/정기 결제 ROI 측정은 여전히 정성/정량 분석이 혼재 -> 아직까지 명쾌한 도입효과가 나오고 있진 않다. 구현과 확장에는 전문 기술 인재 필요 (대부분 사내에 부재) -> ML에 대한 이해도가 높거나, AI 서비스를 만드는 전문 인재, 운영이 가능케 하는 PMO 등의 인력이 부족 다중 모델의 미래: 성능, 규모, 비용에 맞춰 여러 모델 테스트 및 사용 중 -> 결국 입력은 멀티모달로 갈 것, 모든 입력과 출력이 자유로운 모델이 떠오를 것 (키메라 형태의 모델 사용은 현재로선 한계가 명확함) 오픈소스 붐: 2023년엔 사용량이 10~20%에 불과했으나 2024년엔 50% 목표 -> 최근 메타뿐 아니라 구글 및 마이크로소프트, 알리바바에서도 오픈소스 모델을 선보이고 있음 오픈소스 선호 이유는 비용보다 제어와 맞춤화 때문 -> 개인적으로 가장 인상 깊은 부분이였음. 사람들은 높은 성능의 인공지능 보다는 맞춤형 생성형 서비스를 원함 제어에 대한 욕구는 민감한 사용 사례와 데이터 보안 우려에서 비롯 -> 보안 이슈, 망 이슈 맞춤화는 대부분 미세조정(fine-tuning)을 통해 이뤄짐 -> 이건 파인튜닝에 대한 정의가 다소 광의한 것 같음. 클라우드 공급자가 모델 구매 결정에 큰 영향 -> Azure의 사용량이 늘어나는 중. 타 클라우드들도 앤트로픽 등과 협의해 자체 클라우드 맞춤형 모델, 인프라 구축 중 초기 출시 기능도 여전히 중요 대부분 모델 성능이 수렴하고 있다고 생각 모델 교체가 용이하도록 애플리케이션 설계 기업은 현재 앱을 구매하기보다는 자체 구축 선호 내부용 사용 사례에는 적극적이나 외부용은 신중 2024년 말 모델 API와 미세조정 지출이 50억 달러 이상으로 증가 전망 기업들은 생성형 AI 도입을 최우선 과제로 삼고 예산을 늘리고 있다. 다양한 모델을 테스트하고 더 많은 워크로드를 프로덕션에 투입할 계획이다. 이는 전반적인 시장 성장을 이끌 것이며, 파운데이션 모델뿐 아니라 미세조정, 모델 서빙, 애플리케이션 구축, 목적 기반 AI 애플리케이션 등 전 분야에서 기회가 많이 보입니다. 실제로 최근 카카오벤처스와 마이크로소프트에서 진행하는 창업톤에 이와 비슷한 아이디어를 제출했는데 나름 좋은 결과를 얻어 새로운 걸 만들어보고 있습니다. 현재, 2024년은 생성형 AI의 변곡점에 와 있으며, 역동적이고 성장하는 이 시장에 서비스를 제공하는 차세대 기업들과 협력하기를 기대해 볼 수 있습니다.
Haebom
주변이 온통 테무, 알리익스프레스야.
부모님이 알리익스프레스와 테무를 사용하시고 심지어 하드 유저신걸 알게 되었습니다. 나름 매일 들어가셔서 다양한 쿠폰과 게임도 즐기시고 주문도 종종하시더라구요. 이것에 대해 최근에 중국의 전자상거래 기업 테무가 진행한 프로모션 때문이라는 말이 많습니다. 테무나 알리익스프레스의 성공에 대해 '저렴한 가격'을 가장 주요한 요소로 드는데 개인적으로 이건 피상적 이유라고 생각합니다. 개인적으로 테무나 알리를 써보면 핀뒤뒤나 기존 위챗 등에서 시도했던 좋은 사례들을 많이 적용한 것이 주요 경쟁력이라 생각합니다. 사용자들에게 '쇼핑하는 즐거움'을 주고 이것을 게이미피케이션을 적극 적용해 쇼핑이라는 돈을 쓰는 행위에 보람과 만족도를 주는게 핵심입니다.이러던 중, 최근 미국에서 테무가 새로운 사용자에게 현금을 주는 이벤트였는데, 참여하려면 엄청난 양의 개인정보를 내놓아야 했습니다. 당연히 많은 사람들이 개인정보 유출에 대한 우려를 표했죠. 결국 테무는 약관을 고쳤지만, 이 사건은 우리에게 큰 교훈을 줍니다. 개인정보를 함부로 제공하면 안 된다는 사실이죠. 어떤 정보를 왜 수집하는지, 어떻게 활용할 건지 꼼꼼히 따져봐야 합니다. 그리고 알리익스프레스라는 중국 기업도 한국에 진출하고 있죠. 해외 기업들이 늘어나면 소비자의 선택권이 확대된다는 건 좋은 점입니다. 하지만 개인정보 보호나 공정거래 이슈 같은 해결 과제도 안겨주고 있습니다. 이런 사례들을 보면서 우리가 배워야 할 점이 크게 세 가지입니다. 첫째, 개인정보는 우리의 소중한 자산이라는 인식을 갖는 거죠. 내 정보가 어떻게 쓰일지 늘 관심 갖고 지켜봐야 합니다. → 개인이 과정 신경을 쓸 수 있을까? 둘째, 소비자로서 우리의 권리와 의무를 다하는 겁니다. 서비스 약관을 꼼꼼히 읽어보고, 이상한 점이 있다면 당당히 물어봐야 하죠. → 사실 아무도 읽지 않는 약관 셋째, 기업들에게 책임감 있는 행동을 요구하는 겁니다. 고객의 신뢰가 바탕이 되어야 장기적으로 성공할 수 있습니다. 투명하고 공정한 정보 제공과 데이터 관리는 기본 중의 기본이죠. → 국가에서 규제를 만들던... 이제 디지털 세상에서 우리는 똑똑한 소비자이자 책임감 있는 시민이 되어야 합니다. 소중한 개인정보도 지키고, 정당한 권리도 주장하면서 말이죠. 물론 기업과 정부도 함께 노력해야 합니다. 우리 모두가 힘을 합쳐야 더 건강하고 안전한 디지털 생태계를 가꿀 수 있습니다. 다만, 최근 아래와 같은 글에서도 언급했듯, IT 서비스에서 고객에게 더 나은 경험 혹은 주려면 데이터가 필요하고 이것을 어떻게 '기분 안나쁘게', '개인정보를 안건들이며' 심리스한 서비스를 제공할 수 있을까? 하는 고민이 큰 것 같습니다.
Haebom
퇴사하였습니다.
정확히는 2월 중 퇴사를 하였습니다. 오프라인에서 만난 분들에게는 제가 말씀을 모두 드렸고, 페이스북 및 링크드인, 프로필 사이트 등에는 게재를 했는데 제가 계속 재직 중이라는 오해가 있는 분들이 있어 명시적으로 남깁니다. 최근 특정 지자체에서 강연을 하기로 하였는데 소통했던 시점 당시 소속을 작성해 이야기하였다 보니 당시 기준으로 소속이 기재된 채로 홍보자료 등이 만들어졌다고 합니다. 홍보자료가 배포되기 전에 확인을 하는 절차가 별도로 없어서 저 역시도 방금 인지하여 이 부분이 잘못되었다는 걸 알게 되었습니다. 평생교육원의 무료 강의이기도 해서 강의 내용에 집중하고 기타 행정적인 부분을 신경 안쓴 제 불찰도 있는 것 같습니다. 이전에 대화 나눈 걸 보니 강의 내용과 어떻게 진행할지만 고민했지 홍보나 행정적 처리는 이야기를 아예 안했더라구요. 실제로 퇴사 이후 진행한 인터뷰 등에선 퇴사한 것을 명확히 언급하였는데 그전에 소통하던 곳들 혹은 소속에 대해 근무를 하는 걸로 오해하시는 분들이 계셔 다시 한 명 명확히 남겨 놓습니다. 저는 현재 퇴사 했으며, 다양한 옵션을 보고 있습니다. 혹시라도 잘못 알고 계시는 부분이 있다면 정정 부탁드립니다. 저는 요즘 사람만나고 무언가를 만드는데 빠져있습니다. 다른 말로 한량이니 편하게 생각해주시길 바랍니다. 많은 관심 감사합니다.
Haebom