배우기
열한 강, 전부 도는 것
모든 블록은 두 번 쓰여 있다 — JavaScript 탭과 Python 탭, 같은 일을 각각. 0 강은 Python 으로 열리고, 나머지는 JavaScript 로 열려 한 번 눌러 바꾼다. Playground 도 둘 다 받는다.
이 페이지들의 모든 코드 블록은 이 탭에서, 당신의 GPU 에서 돈다. 돌리기 전에 고쳐도 된다. 설치하는 것도 올려 보내는 것도 없다. borch 가 처음이면 위에서부터 — 한 강에 몇 분이면 된다.
0 · 버그 고쳐 보기
Python, 설치 없이. 배우지 못하는 루프 둘을 고치면 페이지가 판정한다 — 여기서 시작.
1 · 텐서
모양·dtype·연산, 그리고 값을 읽는 것이 왜 await 인가.
2 · Autograd
backward()·누적·noGrad, 그리고 기울기가 정말 흘렀는지 아는 법.
3 · 모듈
Linear·Sequential, 층을 직접 만들기, 손실.
4 · 학습
루프·옵티마이저·스케줄러, 그리고 장치를 안 채우는 구역.
5 · 합성곱
Conv2d·풀링·평탄화, 그리고 GPU 가 한 일을 세는 법.
6 · 저장과 파이썬
safetensors 체크포인트, 그리고 같은 커널을 파이썬에서 부르기.
7 · 데이터
데이터셋·배치·섞기·검증 분리, 그리고 이미지 변환.
8 · 디버깅
수가 틀렸는데 아무것도 안 터졌을 때 장치에 물어볼 것들.
9 · 잔차
지름길 연결, BasicBlock, 그리고 그것이 실어 나르는 기울기를 직접 재기.
10 · 트랜스포머
패치를 토큰으로, 어텐션, 클래스 토큰 — 그리고 borch.ts 가 torch 보다 좁은 곳.
필요한 것
- WebGPU 가 되는 브라우저. 없으면 페이지가 그렇게 말한다 — 조용히 더 느린 것으로 내려가지 않는다.
- 그 밖에는 없다. 설치도, 계정도, 서버도.
이 페이지들을 어떻게 안 썩게 하는가
안 돌리는 예제는 썩고, 그것을 처음 아는 사람은 읽는 사람이다. 여기 있는 것은 전부 테스트가 도는 그 라이브러리를 부른다 — 이름이 바뀌면 이 페이지가 눈에 보이는 자리에서 깨진다.
읽기보다 만들어 보고 싶으면 튜토리얼이 문제 하나를 끝까지 가져간다 — 같은 내용이 개념이 서로 기대는 순서가 아니라 프로젝트가 필요로 하는 순서로 온다.
이 프로젝트가 하는 주장은 좁고 실측된 것이다: 입문 튜토리얼 코드가 임포트만 바꿔 같은 값을 낸다. 그 근거가 되는 수는 첫 화면에 있고, 일부러 없는 것도 거기 적혀 있다.