
내가 궁금했던점과 답에대해서 적어보겠다.
1. 기존에 GPT가 제일 잘 나온 모델인데 굳이 생성형 AI 인재들을 뽑아서 기본 모델을 학습하는 것을 배우는 이유가 무엇인지? 그냥 GPT API 가져와서 쓰면 되지않을까??
1.1 성능만 놓고 보면 chatGPT api쓰는게 정답일 수 있습니다. 하지만 api는 비용이 있습니다.
1.2 만약에 어떤 기업에서 LLM기반 서비스를 한다고 할 때, chatGPT api로 구현하면 서비스 구현은 정말 쉽겠지만,
1.3그만큼 트래픽이 상승할수록 api비용도 증가할 것입니다. (매출 원가)
1.4 그렇다면 해당 서비스는 api 비용을 상쇄하고 남을만한 비용을 사용자에게 청구해야하는데요.
1.5 이런 서비스는 아주 소수의 사용자에게 비싼 유료 서비스를 팔게하는 유형의 형태가 적절합니다.
1.6 다만 시간이 지나면 유저들은 굳이 이 서비스에 돈을 지불하지 않고 그냥 chatGPT를 쓰게 되겠죠?
1.7 따라서 LLM 서비스를 무료로 제공하려고 한다면, api call마다 비용이 붙는 구조는 지속가능한 형태가 아닙니다.
1.8그래서 많은 기업들은 허깅페이스에서 오픈된 LLM 모델을 다운받아서 이걸 튜닝하고 RAG와 프롬프팅을 통해 개선하려고 합니다.
1.9 이런 open LLM을 활용한다면 더이상 api 비용을 지불하지 않고 서버 전기료 or 클라우드 비용 정도만 지불하면 됩니다.

요약
즉 <chatGPT api 비용> vs <open LLM모델을 잘 개선시켜줄 인재의 인건비 + GPU 인프라> 중 후자가 장기적으로 더 싸고, 딱히 이용량에 비례해서 증가하지도 않습니다.
+사내 중요 정보, 코드 등의 보안 이슈도 있어서 큰 기업들의 경우도 local에 설치 가능한 openLLM을 선호합니다.
2. 이해한게 맞다면 GPT API를 렝체인으로 새로운 문서를 학습시켜서 파인튜닝해서 쓰는걸로 이해했는데 그러면 다른 회사에서도 GPT API를 써서 렝체인으로 학습시켜서 쓰는지 궁금하다
3. GPT API를 통해 GPT-40-mini 모델을 가져와서 렝체인으로 학습시키면 원하는 답변이 나오는데 이번 프로젝트는 뭘 하려는건가 기존 모델을 학습시켜서 성능향상을 보는 것이 목적이라는데 그럼 GPT-40-mini 모델 말고 다른 모델을 사용한다는 것인가? 어떤 걸 어떤 방식으로 학습시켜서 한다는 지 궁금하다..
‘학습’의 의미부터 정리 (traning, tuning)
학습
‘모델 학습’ = (입력 → 출력) 쌍을 기반으로 모델의 내부 가중치를 업데이트하는 것
ex)
“서울의 날씨는?” → “맑음입니다.” 라는 쌍을 수천, 수만 개 학습시키면, 모델이 이 패턴을 내부적으로 기억하게 되죠.
RAG (Retrieval-Augmented Generation)
2.1 RAG는 모델 자체를 학습시키는 구조가 아닙니다.
2.2 모델은 그대로 두고, 그 주변에 검색 시스템을 붙여서 성능을 개선하는 방식입니다.
2.3 구조는 간단히 말해 이렇습니다:
=> 사용자 질문 → 문서 검색 → 문맥 정리 → 모델에게 전달 → 응답 생성
요약
즉, 모델의 파라미터는 바뀌지 않으며, 외부 지식(document)을 주입해서 보다 정확한 답을 유도하는 구조입니다.
LangChain
3.1 LangChain은 이 전체 과정을 모듈화해서 쉽게 연결하고 실행할 수 있도록 돕는 라이브러리입니다.
3.2 내부적으로는 다음 같은 기능을 연결해주는 도구입니다:
3.3 LLM 모델 호출 (ex. ChatGPT API, 이외 다른 허깅페이스 모델도 쉽게 불러올 수 있음)
=> 문서 검색기 (Retriever)
=> 프롬프트 템플릿 관리
=> 후처리 (출력 포매팅 등)
GPT API + LangChain으로 "학습"할 수 있는가?
아니요. GPT API를 LangChain으로 연결한다고 해서 모델이 학습되는 건 아닙니다.
OpenAI API는 모델을 튜닝하는 기능을 제공하지 않거나 매우 제한적으로 제공하며, 대부분은 프롬프트 엔지니어링 + RAG 수준에서 끝납니다.
그렇다면 지금 하려는 프로젝트는 뭔가?
--질문에서 “성능 향상”을 위한 “기존 모델 학습”이라고 했는데, 여기서 말하는 건 아마도 아래 둘 중 하나거다.
(1) GPT API 사용하면서 RAG 구성 개선
학습은 하지 않지만, RAG에서 어떤 문서를 어떤 방식으로 검색하느냐,
어떤 문맥을 어떻게 주느냐,
프롬프트를 어떻게 구성하느냐
등을 실험해서 “학습 없이 성능 향상”을 꾀하는 방식일 수도 있습니다.
(2) Open LLM을 직접 Fine-tuning
GPT-4.1-mini 같은 API 기반 모델이 아니라, HuggingFace에서 제공하는 오픈 모델을 직접 서버에 올려서,
--자체 데이터로 fine-tuning하거나,
--RAG 성능을 극대화할 수 있도록 retriever 구조를 고도화하는 방식.
프롬프트 템플릿 = fuction(question, context)
="{context}를 잘 살펴보고, {question}에 대해 답변해줘"
임베딩 모델
5. 렝체인에 임베딩모델은 그냥 또 GPT로 사용하면 되는건가 궁금하다
5.1 맞습니다. 여러 종류가 있지만 임베딩으로 가장 많이 쓰이는게 chatgpt 임베딩이고, api비용도 일반 call에 비해 훨씬 저렴합니다
6. 지금부터는 어떤 식으로 뭘 학습해야 효율적인지 궁금하다.
우리의 여정: openLLM 모델의 퀄리티, 성능을 chatGPT API 수준으로 근접하게 하는 것
6.1 프롬프트 엔지니어링, RAG의 다양한 활용 + openLLM 모델 파인튜닝 + LoRA + 양자화 등을 통해 HW제약 극복
모델 적용사항 성능 비용 성능/비용 모델 크기
chatGPT x 0.8 ~~ ~~ -
chatGPT 프롬프팅 0.82 ~~~ ~~
chatGPT 프롬프팅+RAG 0.85
openLLM x 0.4
openLLM 프롬프팅+RAG 0.58
openLLM 프롬프팅+RAG+tune 0.65 ~~~ ~~~ 2B
openLLM ...+tune+LoRA 0.71 ~~~ ~~~ 10B

goal: 성능/비용 모델의 가성비를 최대화 하는것!!
좋은 AI 개발의 근본 = 끊임없는 비교실험을 통한 모델 개선 + 비용절감
좋은 AI 개발의 근본은 끊임 없는 비교 실험을 통한 모델 개선이라고 하셨는데, 평가 지표(evaluation metric)는 어떻게 설정하나요..?
풀고자 하는 문제가 어떤 종류에 해당하는 건지에 따라 달라집니다.
텍스트 분류 – Accuracy, F-1
번역, 요약
정량평가 - ROUGE-L, BLEU
정성평가 - (open-ended) – GPT 평가 / 인간 평가
test data가 1000개 있으면, chatGPT api로 1000번 (입력, 출력) 보내서 채점하게 하기
텍스트 생성 (채팅, 스토리) – Win rate / GPT preference
문서 검색 / RAG – MRR 또는 Recall@k
코드 생성 – Pass@1
내가 풀고자 하는 문제에 대해서 어떤 평가지표를 사용할지 GPT와 상담 후 결정하는 것이 반드시 필요.
evaluate(input, output, +정답 텍스트=chat GPT 출력)
모델 크기
chatGPT 1000B이상 (=가중치의 갯수)
openLLM 1000B, 500B, 50B, 2B
우리가 실습환경에서는 chatGPT에 비해 터무니없이 작은 모델을 써야함
->만약에 이런 모델로 chatGPT만큼 아니더라도, 용인될만한 퀄리티의 답변을 끌어낼 수 있다면? -> 나중에 조금 더 큰 모델로는 훨씬 좋은 성능을 낼 수 있음.
위에 답변은 코치님의 답변을 인용한 것 입니다.
'부트캠프 > 항해 AI' 카테고리의 다른 글
태태개발일지 - 항해 플러스 AI 고민하고있다면(항해플러스 괜찮은가?) 솔직한 후기 (1) | 2025.05.26 |
---|---|
태태개발일지 - AI의 미래(개발자의 미래) (1) | 2025.04.20 |
태태개발일지 - 머신러닝 기초 (0) | 2025.04.10 |
태태개발일지 - AI 기초(머신러닝) (0) | 2025.04.07 |
태태코딩 - AI 시작 (0) | 2025.03.28 |