avatar
Sriram Krishnan
299,279명의 트위터 팔로워
팔로우하기
bitter-lesson-pilled. personal views only. White House/official: @skrishnan47
포스팅
avatar
Sriram Krishnan
02-04
fp8 학습을 활성화하여 "GPT-2 생성 시간"을 4.3% 단축하여 이제 2.91시간이 됩니다. 또한 8개의 H100 스팟 인스턴스 가격을 사용하면 이 GPT-2 재현에 드는 비용은 실제로 약 20달러에 불과합니다. 따라서 매우 고무적인 결과입니다. GPT-2 (7년 전): 출시하기에는 너무 위험하다. GPT-2 (오늘): 새로운 MNIST! :) 이건 분명 1시간보다 훨씬 빨리 끝날 수 있을 거예요. fp8에 대해 몇 마디 더 하자면, 예상보다 비트(Bit) 더 까다로웠고 도입하기까지 시간이 좀 걸렸습니다. 게다가 아직 fp8에 대한 전반적인 지원이 부족하기 때문에 좋은 아이디어인지 100% 확신할 수는 없습니다. 이론상으로는 H100에서 fp8이 FLOPS의 2배를 내지만, 실제로는 그 차이가 훨씬 큽니다. 실제 학습 실행에서 100% 연산 병목 현상이 발생하는 것은 아니며, 추가적인 스케일 변환으로 인한 오버헤드가 있고, GPT-2 규모에서는 GEMM 모델이 충분히 크지 않아 오버헤드를 감수할 만한 가치가 명확하지 않으며, 당연히 정밀도가 낮아질수록 각 단계의 품질이 떨어집니다. 행 단위 스케일링 레시피의 경우 fp8과 bf16의 손실 곡선이 상당히 유사했지만, fp8이 단계적으로 더 느렸습니다. 텐서 단위 스케일링의 경우 손실 곡선이 더 벌어졌지만(즉, 각 단계의 품질이 더 낮음), 적어도 속도 향상(~7.3%)은 얻을 수 있었습니다. 훈련 기간을 늘리는 것(더 많은 단계를 훈련하지만 각 단계의 속도는 더 빨라짐)으로 성능을 회복하는 것처럼 보일 수 있지만, 궁극적으로는 더 나은 결과를 기대할 수 있습니다. 이러한 방법과 훈련 기간을 비트(Bit) 조정해 본 결과, 지금까지 약 5%의 속도 향상을 얻었습니다. torchao는 논문에서 Llama3-8B 모델의 경우 fp8을 적용하여 25%의 속도 향상을 달성했다고 보고했는데(제 결과는 성능 보정을 고려하지 않았을 때 약 7.3%입니다), 이는 제가 처음 기대했던 수준에 더 가깝습니다. 물론 Llama3-8B는 훨씬 더 큰 모델입니다. fp8에 대한 연구는 아직 끝나지 않았을 가능성이 높습니다. 어떤 레이어에 fp8을 적용할지 정확하게 선택하고, 네트워크 전체의 수치 연산에 더 주의를 기울이면 성능을 더욱 향상시킬 수 있을 것입니다. twitter.com/karpathy/status/20...
SAGA
8.81%
avatar
Sriram Krishnan
01-29
스레드
@karpathy 님의 코딩 모델 현황에 대한 훌륭한 게시글에 덧붙여 제 생각을 말씀드리겠습니다. 제 개인적인 코딩 여정은 20년 넘게 이어져 왔는데, 예전에는 매일 많은 코드를 작성하다가 거의 코드를 작성하지 않게 되었고, 이제는 llms를 사용해서 갑자기 많은 코드를 생성할 수 있게 되었습니다. 휴가 기간 동안 아이들을 위해 저희 가족을 기반으로 한 "심즈 스타일"의 RTS 게임을 만들었습니다. 팁 하나 드리자면, 아이들은 제가 민망한 행동을 하는 모습을 게임 버전으로 계속해서 만들어내는 것을 좋아할 겁니다. 2D 그래픽이나 기본적인 게임 로직을 코딩해 본 적이 없었던 저조차도 몇 주가 걸렸을 작업을 한 시간 만에 완성하고, 아이들의 제안("아빠 화장실 가는 횟수 늘리기" / "아이들 간식 더 많이 줘")을 몇 초 만에 반영할 수 있다는 사실에 놀랐습니다. 몇 년 전과 비교했을 때 제 코딩 워크플로가 극적으로 달라졌다는 것을 실감했습니다. 이제는 제가 작성하지 않은 많은 양의 코드를 이해하고, 디버깅하고, 조정한 다음, 다시 모델이 알아서 처리하도록 내버려 두는 경우가 많습니다. @karpathy 님이 말씀하신 것처럼, 불과 몇 달 전만 해도 대부분의 코드를 직접 작성해야 했던 것에 비하면 엄청난 발전입니다.
ARC
0%
loading indicator
Loading..