내 Git 기록을 학습 데이터로 정리하는 도구 git2llm

git2llm은 의 커밋, 풀 리퀘스트, 이슈를 가져와 학습에 쓸 수 있는 데이터로 정리하는 명령줄 도구이자 파이썬 라이브러리다. 개인이나 팀의 코드 변경 기록은 코드를 어떻게 쓰고 고치는지 보여주지만, 그대로 쓰기에는 품질이 낮다. 병합 커밋, 봇이 만든 변경 기록, 임시 작업, 의미 없는 , 자동 생성 파일, 여러 브랜치에 반복된 비슷한 코드가 섞여 있기 때문이다.

git2llm은 4단계 정리 과정을 거쳐 병합 커밋과 봇 소음을 빼고, 임시·초안·자동 생성 내용을 걸러내며, 거의 같은 변경도 중복으로 찾아 제거한다. 중복 제거에는 라는 비슷한 내용을 찾는 방식이 쓰인다. 결과물은 Alpaca 또는 ShareGPT 형식으로 나오며, , LLaMA-Factory 같은 흐름에 바로 넣을 수 있다.

자체 저장소에서는 원본 커밋의 78%가 제거될 정도로 학습에 부적합한 내용이 많았다.

핵심 포인트

  • 의 커밋, 풀 리퀘스트, 이슈를 학습용 데이터로 변환한다.
  • 병합 커밋, 봇 생성 내용, 임시 작업, 자동 생성 파일 같은 잡음을 제거한다.
  • 로 완전히 같지 않아도 매우 비슷한 변경을 중복으로 찾아낸다.
  • Alpaca와 ShareGPT 형식으로 내보내 도구에 넣을 수 있다.
  • 자체 저장소에서는 원본 커밋의 78%가 걸러질 만큼 원자료의 잡음이 컸다.
원문 보기