Using LangSmith to Support Fine-tuning
Quick Summary
LangSmith로 지식 그래프 삼중항 추출의 데이터 관리와 평가를 지원한 실험에서 LLaMA2 7b chat과 gpt 3.5 turbo의 파인튜닝 효과를 확인했지만, 최고 점수는 퓨샷 GPT 4가 기록했다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
LangSmith로 지식 그래프 삼중항 추출의 데이터 관리와 평가를 지원한 실험에서 LLaMA2-7b-chat과 gpt-3.5-turbo의 파인튜닝 효과를 확인했지만, 최고 점수는 퓨샷 GPT-4가 기록했다.
📌 핵심 요약
- 원문은 파인튜닝을 새로운 사실 학습보다 명확한 전문 작업과 출력 형식 학습에 적합한 방법으로 설명하며, 프롬프팅·RAG와 비교해 선택해야 한다고 강조한다.
- BenchIE와 CarbIE의 지식 그래프 삼중항 데이터를 공통 JSON 형식으로 변환하고 무작위로 나눠, LangSmith에 약 1,500개 문장의 학습 세트와 100개 문장의 시험 세트를 구성했다.
- LLaMA2-7b-chat은 4비트 양자화와 qLoRA를 활용해 A100에서 약 1,500개 지시문으로 학습했으며, 이 소규모 데이터의 학습 시간은 15분 미만이었다.
- gpt-3.5-turbo는 학습 세트에서 고른 50개 예시로 파인튜닝했으며, 실험에서는 매번 요구한 삼중항 출력 형식을 생성했다.
- GPT-4 평가자 점수는 퓨샷 GPT-4 59%, 파인튜닝 GPT-3.5 56%, 파인튜닝 LLaMA2-7b-chat 49%, 퓨샷 GPT-3.5 40%, 기본 LLaMA2-7b-chat 38%였다. 파인튜닝한 LLaMA2-7b-chat은 불필요한 대화가 줄었지만 지시문 반복 등 실패가 남았다.
🧩 주요 포인트
- 전문 작업·출력 형식 중심의 파인튜닝 → 새로운 사실 학습과 구분하고 프롬프팅·RAG 대비 적합성을 판단할 필요가 있다.
- LangSmith의 데이터 관리와 동일 시험 세트 평가 → 학습 데이터 준비부터 모델 간 성능 비교까지 연결해 파인튜닝 효과를 검토할 수 있다.
- LLaMA2-7b-chat의 38%→49% 개선과 퓨샷 GPT-4의 59% → 작업별 개선은 확인됐지만 최고 성능이나 실패 제거까지 보장하지는 않는다.
🧠 상세 정리
1. 파인튜닝 관심의 확대와 실험 목적
2023년 8월 23일 공개된 이 글은 오픈소스 언어 모델의 발전과 OpenAI의 gpt-3.5-turbo 파인튜닝 지원을 관심 확대의 두 배경으로 제시한다. 오픈소스 모델은 약 1년 사이 성능 격차를 크게 줄였으며, 원문은 비용 절감과 개인정보 보호, 특정 작업에 맞춘 소형 모델의 가능성을 장점으로 설명한다. 이전 OpenAI 파인튜닝 대상은 구형 모델이어서 학습 후에도 최신 GPT-3.5에 퓨샷 예시를 제공하는 방식과 경쟁하기 어려웠다고 서술한다. 이러한 변화 속에서 글은 LangSmith를 데이터 관리와 평가에 사용하고, CoLab·HuggingFace 및 OpenAI 서비스로 각각 학습하는 과정을 소개한다. 실험의 목적은 지식 그래프 삼중항 추출이라는 구체적인 작업에서 두 학습 경로의 효과를 비교하는 것이다.
2. 파인튜닝을 선택할 조건
원문은 모델이 지식을 활용하는 경로를 가중치 갱신과 프롬프트 제공으로 나누며, 각각을 장기 기억과 단기 기억에 비유한다. 파인튜닝은 시험을 앞두고 공부하는 것에, 검색으로 지식을 프롬프트에 넣는 방식은 자료를 보면서 시험을 치르는 것에 대응시킨다. 다만 새로운 지식이나 사실 회상을 가르치는 목적으로 파인튜닝을 권하지 않으며, John Schulman의 발표를 인용해 환각이 늘어날 수 있다고 설명한다. 대신 작업이 명확하고 예시가 충분하거나 모델이 퓨샷 프롬프트의 문맥 내 학습을 잘 활용하지 못하는 경우에 유용할 수 있다고 제시한다. 따라서 파인튜닝은 전문 작업과 응답 형식을 학습시키는 수단으로 보고, 프롬프팅이나 RAG와 비교해 적용 여부를 판단해야 한다.
3. 지식 그래프 삼중항 추출 작업
글은 분류, 태깅, 정보 추출을 파인튜닝에 적합한 작업으로 소개하고, 그중 문장에서 지식 그래프 삼중항을 추출하는 문제를 실험 대상으로 선택한다. 삼중항은 주체, 관계, 객체로 이루어지며, 주체와 객체는 개체를 나타내고 관계는 두 개체 사이의 속성이나 연결을 표현한다. 이렇게 추출한 결과는 개체와 관계 정보를 저장하는 지식 그래프를 구성하는 데 사용할 수 있다. 연구진은 사용자가 입력한 텍스트에서 GPT-3.5 또는 GPT-4의 함수 호출로 삼중항을 추출하는 공개 Streamlit 앱도 만들었다. 이와 병행해 공개 데이터셋으로 LLaMA2-7b-chat과 GPT-3.5를 파인튜닝함으로써, 동일한 추출 작업에서 기본 모델과 학습한 모델의 출력 및 성능을 비교했다.
4. LangSmith를 통한 데이터 수집과 정제
원문은 데이터 수집·정제와 평가를 파인튜닝 과정에서 여전히 큰 어려움으로 꼽고, LangSmith가 이 두 영역을 지원하는 방법을 설명한다. LangSmith 프로젝트에서는 생성 결과가 자동 기록되며, 사용자 피드백 필터와 태그, 기타 지표로 품질이 낮은 사례를 찾아 앱에서 출력을 수정하고 데이터셋으로 저장할 수 있다. 실제 실험에서는 공개 BenchIE와 CarbIE의 지식 그래프 삼중항을 가져와 주체를 나타내는 s, 객체를 나타내는 object, 관계를 나타내는 relation 필드의 공통 JSON 형식으로 변환했다. 합친 데이터는 무작위로 분할해 약 1,500개 정답 문장의 학습 세트와 100개 문장의 시험 세트로 구성했다. 이후 CoLab에서 LangSmith 데이터셋을 불러오고, 각 필드의 의미와 삼중항 출력 요구를 명시한 시스템 프롬프트 및 LLaMA 지시 토큰으로 학습 입력을 준비했다.
5. 양자화와 qLoRA로 메모리 제약 대응
70억 개 매개변수를 각각 32비트로 저장하면 모델 가중치에만 28GB가 필요하므로, 원문이 예로 든 16GB VRAM의 T4에는 그대로 올릴 수 없다. 글은 매개변수 값을 제한된 수의 값으로 표현하는 4비트 양자화를 통해 가중치 저장량을 계산상 3.5GB로 줄여 약 8배의 절감 효과를 얻는다고 설명한다. 모델을 메모리에 올린 뒤에도 학습에 필요한 자원이 남아 있어야 하므로, 학습 매개변수를 줄이는 PEFT 방식이 추가로 필요하다. LoRA는 사전학습 가중치를 고정하고 각 층에 학습 가능한 저랭크 행렬을 도입해 학습 대상의 수를 줄이며, 원문은 전체의 약 1%를 예로 든다. qLoRA는 양자화한 기본 가중치를 고정하고 순전파·역전파 시 역양자화하며 작은 LoRA 어댑터를 학습하는 방식으로, 제한된 GPU 자원에서 파인튜닝을 지원한다.
6. LLaMA2-7b-chat 학습 구성
실제 오픈소스 모델 학습은 사전학습된 llama-2-7b-chat-hf를 출발점으로 삼아 CoLab의 A100에서 진행했다. 학습에는 앞서 준비한 약 1,500개 지시문을 사용했으며, 공개된 LLaMA 파인튜닝 설정을 참고해 구성을 정했다. BitsAndBytes로 기본 모델을 4비트 정밀도로 불러오되 순전파와 역전파 계산에는 fp16을 사용했다. 준비한 지시문과 정답을 대상으로 지도 파인튜닝인 SFT를 수행했으며, 원문은 이 정도의 작은 데이터 규모에서는 A100 학습 시간이 15분 미만이었다고 보고한다. 따라서 이 시간은 해당 모델과 데이터량, 하드웨어를 사용한 실험 결과이며, 앞서 메모리 제약을 설명할 때 등장한 T4에서 측정한 학습 시간으로 해석해서는 안 된다.
7. GPT-3.5의 소량 예시 파인튜닝
OpenAI 경로에서는 전체 학습 세트 중 50개 예시를 골라 사용자 요청과 정답 삼중항을 담은 대화 메시지 형식으로 변환했다. 원문은 기본 모델의 범용 능력이 충분하므로, 학습의 목적이 많은 정보를 새로 주입하는 것보다 원하는 출력 형식과 스타일로 일관되게 응답하도록 유도하는 데 있다고 설명한다. 이 실험에서 50개 예시는 모델이 매번 올바른 삼중항 형식을 출력하도록 만드는 데 충분했다고 보고한다. 학습 데이터는 OpenAI SDK로 업로드했고, 생성된 파인튜닝 모델은 LangChain의 ChatOpenAI 클래스에서 직접 사용했다. 전체 과정은 몇 분이 걸렸으며, 글은 프롬프트 템플릿에서 퓨샷 예시를 제거하는 것 외에 체인 코드 변경이 필요하지 않았다고 서술하고 이후 다른 모델과 성능을 비교했다.
8. 평가 기준과 모델별 비교 결과
평가는 LangSmith에서 GPT-4를 평가자로 사용해 정답 삼중항과 예측 사이의 사실적 차이를 0~100점으로 채점하는 방식으로 수행했다. 정답에 없는 삼중항을 추가하거나 필요한 삼중항을 누락하면 감점하지만, 객체나 관계의 표현이 달라도 의미 차이가 없으면 관대하게 평가하도록 지시했다. 결과 표에서 퓨샷 GPT-4는 59%, 파인튜닝 GPT-3.5는 56%, 파인튜닝 LLaMA2-7b-chat은 49%, 퓨샷 GPT-3.5는 40%, 기본 LLaMA2-7b-chat은 38%를 기록했다. LLaMA2-7b-chat의 파인튜닝 점수는 기본 모델 대비 11%포인트 높았고, 원문은 이를 약 29%의 상대적 개선으로 설명한다. 파인튜닝한 소형 모델의 개선은 확인됐지만 가장 높은 점수는 퓨샷 GPT-4였으며, 이 수치는 단순 정답률이 아니라 설명된 평가자의 채점 결과로 읽어야 한다.
9. 실패 사례 분석과 남은 한계
연구진은 LangSmith에서 낮은 점수의 예측을 필터링해 기본 모델과 파인튜닝 모델의 실패 양상을 비교했다. 기본 LLaMA2-7b-chat은 사전학습 지식에서 과도하게 추론해 주체를 Homer Simpson으로 간주하거나, 요구한 형식을 벗어나 일상 대화와 서술을 덧붙이는 사례를 보였다. 파인튜닝한 모델은 정답 형식에 더 가까운 출력을 생성하고 불필요한 대화를 줄였지만, 추출 결과 대신 지시문을 반복하는 실패가 여전히 있었다. 원문은 디코딩 매개변수 변경, 로짓 편향 적용, 학습 지시문 확대, 13B 같은 더 큰 기본 모델, 프롬프트 개선을 가능한 대응 방향으로 제시하며 해결 효과를 검증한 결과까지 제시하지는 않는다. 비교 사례의 퓨샷 GPT-4는 별도 파인튜닝 없이도 합리적인 삼중항을 추출했으므로, 형식 개선과 내용 추출의 성공을 구분해 살펴볼 필요가 있다.
🧾 핵심 주장 / 시사점
- GPT-3.5는 50개 예시로 출력 형식을 일관되게 생성했지만 평가 점수는 56%였으므로, 형식 준수와 내용 품질은 별도로 판단해야 한다.
- 파인튜닝 LLaMA2-7b-chat은 퓨샷 GPT-3.5를 앞섰지만 퓨샷 GPT-4에는 미치지 못해, 파인튜닝의 유용성은 비교 대상과 작업에 따라 평가해야 한다.
- LangSmith의 낮은 점수 사례 필터링은 평균 점수만으로 드러나지 않는 불필요한 대화, 과도한 추론, 지시문 반복을 구체적으로 분석하는 데 활용됐다.
✅ 액션 아이템
- 전문 작업과 출력 형식 요구를 기준으로 파인튜닝·프롬프팅·RAG의 적합성 비교.
- LangSmith의 동일 시험 세트 평가로 LLaMA2-7b-chat과 gpt-3.5-turbo의 파인튜닝 효과 검토.
- 퓨샷 GPT-4의 59%를 비교 기준으로 삼고, 파인튜닝 LLaMA2-7b-chat의 지시문 반복 실패 점검.
❓ 열린 질문
- 대상 작업의 목표는 새로운 사실 학습인가, 전문 작업과 출력 형식의 개선인가?
- gpt-3.5-turbo의 50개 예시 학습에서 확인한 출력 형식 일관성과 평가 점수 56%는 요구 수준을 충족하는가?
- LLaMA2-7b-chat의 38%→49% 개선에도 남은 지시문 반복 실패는 대상 작업에서 허용 가능한가?