피드로 돌아가기
Creating a Coding Assistant with StarCoder
Hugging Face BlogHugging Face Blog
AI/ML

BigCode가 StarCoder 모델을 ChatML 포맷과 OpenAssistant 대화 데이터셋으로 미세조정하여 오픈소스 코딩 어시스턴트 StarChat 개발

Creating a Coding Assistant with StarCoder

2023년 5월 9일9intermediate

Context

GitHub Copilot과 ChatGPT 같은 독점 시스템은 학습 데이터의 투명성 부족과 도메인 맞춤형 적응 불가능이라는 한계가 있었다. 오픈소스 대안이 필요했던 상황에서 StarCoder는 80개 이상의 프로그래밍 언어, GitHub 이슈, Git 커밋, Jupyter 노트북으로 학습된 16B 파라미터 모델이다.

Technical Solution

  • StarCoder 모델의 8,192 토큰 컨텍스트 길이를 활용하여 프로그래밍 예제와 시스템 프롬프트를 포함한 대화형 어시스턴트로 변환
  • OpenAI의 ChatML(Chat Markup Language) 포맷을 도입하여 사용자와 AI 어시스턴트 간 구조화된 메시지 형식 구현
  • OpenAssistant의 다양한 대화 코퍼스를 활용한 미세조정으로 코드 생성 모델을 일반 대화 능력을 갖춘 에이전트로 확장
  • 🤗 Transformers와 DeepSpeed ZeRO-3를 사용한 대규모 모델 미세조정 파이프라인 구축
  • Multi-query attention을 통한 빠른 대규모 배치 추론 지원으로 빠른 텍스트 생성 가능

Key Takeaway

코드 생성용으로 사전학습된 LLM도 적절한 프롬프트 구조(시스템 메시지 + 대화 예제)와 다양한 도메인의 대화 데이터로 미세조정하면 범용 대화형 어시스턴트로 전환 가능하다는 것을 보여준다.


오픈소스 코드 생성 모델을 활용하는 팀에서 ChatML 포맷으로 구조화된 프롬프트를 설계하고 도메인별 대화 데이터로 미세조정하면 proprietary API 의존도 없이 커스터마이징 가능한 코딩 어시스턴트를 구축할 수 있다.

원문 읽기