Karpathy의 minGPT(Generative Pre-trained Transformer)를 최소한으로 TensorFlow.js로 다시 구현합니다.
이 "직접 만든" GPT 언어 모델(모두)의 전체 정의는 이 단일 model.ts 파일( 300
줄 미만의 코드)에서 찾을 수 있습니다.
model.ts는 TypeScript로 작성되었으므로 직접 만든 GPT 놀이터를 사용하여 GPU를 사용하여 브라우저에서 직접 훈련하고, 매개변수를 실험하고, 예측을 생성할 수 있습니다.
모델과 플레이그라운드는 학습 목적 , GPT 작동 방식 이해, 훈련에 WebGPU 사용을 위해 작성되었습니다.
model.ts 파일에서 무슨 일이 일어나고 있는지 이해하려면 Andrej Karpathy의 잘 설명된 실습 강의 "GPT를 처음부터 작성하자: 코드로 철자 설명"(아마도 GPT에 대한 가장 좋은 설명 중 하나)을 참조하세요.
./gpt/src/ 폴더 안에는 다음 파일이 있습니다.
CausalSelfAttention
내부의 모든 Heads
병렬이 아닌 순차적 으로 처리한다는 것입니다. 결과적으로 모델은 약간 느리지만 읽기가 더 쉽습니다. 일부 사전 훈련된 모델 가중치는 homemade-gpt-js-weights 저장소에 게시됩니다. 웹 놀이터("세대" 섹션) 또는 Node.js 놀이터( model.setWeights()
)를 통해 적용할 수 있습니다.
모델 매개변수, 교육 및 텍스트 생성을 실험하려면 Homemade GPT JS 놀이터를 사용할 수 있습니다.
직접 만든 GPT JS 놀이터 |
---|
변환기 모델 자체의 코드를 수정하고 실험하려는 경우 로컬로 플레이그라운드를 시작할 수도 있습니다.
종속성을 설치합니다.
npm i
로컬에서 웹 놀이터 실행:
npm run playground-web
놀이터는 http://localhost:3000/homemade-gpt-js에서 액세스할 수 있습니다.
프로젝트 루트에서 다음 명령을 실행하세요. Node.js ≥ 20.0.0이 필요합니다.
Node.js 환경에서 모델을 실험해 볼 수도 있습니다.
종속성을 설치합니다.
npm i
Node.js 플레이그라운드 실행:
npm run playground-node
./playground-node/src/index.ts 파일에는 훈련 및 텍스트 생성의 기본 예제가 포함되어 있습니다.
프로젝트 루트에서 다음 명령을 실행하세요. Node.js ≥ 20.0.0이 필요합니다.