학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 번역 또는 요약 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인 주시면 반영토록 하겠습니다. 번역 과정에서 의미 전달이 애매한 일부 문장은 삭제했습니다. 이번 글은 세미 어낼리시스에 올라온 글을 정리한 것 입니다.
OpenAI가 GPT-4 아키텍처를 비공개로 유지하는 것은 인류에 대한 실존적 위험 때문이 아니라 그들이 구축한 것이 복제 가능하기 때문이다. 실제로 구글, 메타, 앤트로픽, 인플렉션, 캐릭터, 텐센트, 바이트댄스, 바이두 등이 가까운 시일 내에 GPT-4만큼은 아니더라도 보다 나은 성능을 갖춘 모델을 보유할 것으로 보고 있다.
오해하지 말라. OpenAI는 놀라운 엔지니어링을 보유하고 있으며 그들이 구축한 것은 대단하지만 그들이 도달한 솔루션은 마술이 아니다. 복잡한 트레이드오프( tradeoffs)가 많은 우아한 솔루션이다. OpenAI의 가장 튼튼한 해자는 가장 많은 실제 사용 사례와 선도적인 엔지니어링 인재를 보유하고 있으며, 미래 모델을 통해 다른 업체보다 앞서 나갈 수 있다는 점이다.
우리는 여러 출처들에서 GPT-4에 대한 많은 정보를 수집해왔고 오늘 이를 공유하고자 한다. 이는 모델 아키텍처, 훈련 인프라, 추론 인프라, 파라미터 수, 훈련 데이터셋 구성, 토큰 수, 레이어 수, 병렬 처리 전략, 멀티모달 비전 적응, 다양한 엔지니어링 트레이드오프에 대한 사고 과정, 고유하게 구현된 기술, 거대한 모델 추론과 관련된 가장 큰 병목 현상을 완화한 방법 등을 포함한다.
GPT-4에서 가장 흥미로운 측면은 특정 아키텍처들과 관련해 오픈AI가 왜 그런 결정을 내린 이유를 이해하는 것이다. 또 우리는 A100에서 GPT-4 훈련 및 추론 비용과 차세대 모델 아키텍처를 위해 H100으로 어떻게 확장하는지에 대해 간략히 설명한다.
먼저, 문제에 대해 설명하는 것으로 시작한다. OpenAI는 GPT-3에서 4로 100배 확장하기를 원했지만, 가장 큰 문제는 비용이다. 고밀도 트랜스포머 모델( Dense transformers models)은 더 이상 확장할 수 없다. 고밀도 트랜스포머는 OpenAI GPT-3, Google PaLM, Meta LLAMA, TII Falcon, MosaicML MPT 등이 사용하는 모델 아키텍처다. 이 같은 아키텍처를 사용하여 LLM을 훈련시키는 기업은 50개에 달한다. 좋은 모델이지만 확장에는 결함이 있다.
이 글에서는 GPT-4 아키텍처와 다양한 기존 모델들 훈련 비용과 관련해 개략적인 수준에서 OpenAI가 수행하는 작업을 공개한다.
지난 6개월 동안 우리는 훈련 비용이 별게 아니라는 알게 됐다. 물론 모델을 학습시키는 데 수억 달러는 아니더라도 수천만 달러 컴퓨팅 시간이 소요되는 것처럼 보이지만 이들 기업엔 사소한 비용에 불과하다. 사실상 더 크게 확장할수록 지속적으로 더 나은 결과를 가져다주는 설비 투자 항목이다. 유일한 제한 요소는 사람이 피드백을 받고 아키텍처를 수정할 수 있는 시간에 따라 컴퓨팅을 확장하는 것이다.
향후 몇 년 동안 Google, Meta, OpenAI/Microsoft와 같은 여러 기업들이 1,000억 달러가 넘는 슈퍼컴퓨터로 모델을 훈련할 것이다. Meta는 '메타버스'에 연간 160억 달러 이상을 투자하고 있으며, Google은 결실을 맺지 못할 다양한 프로젝트에 연간 100억 달러를 낭비하고 있다. 아마존은 알렉사로 500억 달러 이상 손실을 입었다. 암호화폐는 가치 없는 것에 1,000억 달러 이상을 낭비했다.
이들 기업과 사회는 하나의 대규모 모델을 학습할 수 있는 슈퍼컴퓨터를 만드는 데 1,000억 달러 이상을 투자할 수 있으며, 앞으로도 그럴 것이다. 그런 다음 이러한 대규모 모델은 다양한 방식으로 제품화될 수 있다. 이러한 노력은 여러 국가와 기업들에서 중복될 것이다. 이것이 바로 새로운 우주 경쟁이다. 이전의 낭비와 지금의 차이점은 AI를 사용하면 인간 비서와 자율 에이전트를 통해 단기간에 가시적인 가치를 창출할 수 있다는 점이다.
AI를 확장하는 데 있어 훨씬 더 중요한 문제, 즉 실제 AI의 벽은 추론이다. 목표는 학습 컴퓨팅과 추론 컴퓨팅을 분리하는 것이다. 그렇기 때문에 배포할 모든 모델에 대해 친칠라( Chinchilla) 최적화를 훨씬 뛰어넘어 훈련하는 것이 합리적이다. 추론 중에 모든 매개변수가 활성화되지 않는 스파스 모델 아키텍처(sparse model architecture)를 사용하는 이유도 바로 이 때문이다.
문제는 이러한 모델을 사용자와 에이전트들에게 확장하는 데 너무 많은 비용이 든다는 것이다. 추론 비용은 훈련 비용의 몇 배에 달한다. 이것이 바로 모델 아키텍처 및 인프라에 관한 OpenAI의 혁신 목표다.
대규모 모델 추론은 밀도가 높은 모델의 경우 모델 크기로 인해 문제가 되는 다변수 문제다. 엣지와 관련해서는 여기에서 자세히 설명했지만, 데이터센터에서도 문제는 매우 유사하다. 간단히 요약하면, 장치에는 특정 수준 처리량을 달성하기 위해 대규모 언어 모델을 위한 메모리 대역폭이 충분하지 않다는 것이다. 대역폭이 충분하더라도 엣지에서 하드웨어 컴퓨팅 리소스 활용도는 매우 낮을 것이다.
데이터센터, 클라우드에서는 활용률이 가장 중요하다. 엔비디아가 소프트웨어 우수성으로 찬사를 받는 이유 중 절반은 GPU 세대별 수명에 걸쳐 칩 주변, 칩 간, 메모리 간 데이터 이동을 더욱 스마트하게해 FLOPS 활용률을 높이는 로우레벨 소프트웨어를 지속적으로 업데이트하고 있기 때문이다.
현재 대부분 사용 사례들에서 LLM 추론은 라이브 어시스턴트로 작동하기 때문에 사용자가 실제로 사용할 수 있을 만큼 높은 처리량을 달성해야 한다. 인간은 평균적으로 분당 250단어를 읽지만 일부는 분당 최대 1,000단어까지 읽는다. 즉, 초당 최소 8.33개 토큰을 출력해야 하지만 모든 예외 케이스들을 처리하려면 초당 33.33개 이상 토큰을 출력해야 한다.
1조 개 매개변수가 밀집된 모델은 메모리 대역폭 요구 사항으로 인해 최신 엔비디아 H100 GPU 서버에서도 수학적으로 이 처리량을 달성할 수 없다. 생성된 모든 토큰은 모든 파라미터를 메모리에서 칩으로 로드해야 한다. 그런 다음 생성된 토큰이 프롬프트에 입력되고 다음 토큰이 생성된다. 어텐션 메커니즘(attention mechanism)을 위해 KV 캐시에서 스트리밍하려면 추가 대역폭이 필요하다.
위의 차트는 개별 사용자에게 서비스를 제공할 수 있을 만큼 높은 처리량으로 LLM을 추론하는 데 필요한 메모리 대역폭을 보여준다. 8x H100으로도 초당 33.33개 토큰으로 1조 개 매개변수가 밀집된 모델을 처리할 수 없음을 보여준다. 또 초당 20개 토큰을 처리할 때 8xH100 FLOPS 사용률은 여전히 5% 미만이므로 추론 비용이 엄청나게 높아진다.
그러나 OpenAI는 1조 개가 넘는 파라미터를 가진 A100 모델을 통해 인간의 판독 속도를 달성하고 있으며, 1,000 토큰당 0.06달러의 저렴한 가격으로 폭넓게 제공하고 있다. 이는 모든 파라미터가 사용되는 것은 아니기 때문이다.
GPT-4 모델 아키텍처, 트레이닝 인프라, 추론 인프라, 파라미터 수, 트레이닝 데이터셋 구성, 토큰 수, 레이어 수, 병렬 처리 전략, 멀티모달 비전 인코더, 다양한 엔지니어링 트레이드 오프에 대한 사고 과정, 고유한 구현 기술, 거대한 모델 추론과 관련된 가장 큰 병목 현상을 완화한 방법에 대해 이야기해 보자.
유료 콘텐츠라 접근할 수 있는 내용은 여기까지다. 최근 세마포는 세미 어낼리시스가 GPT-4를 다룬 콘텐츠와 관련해 다이런 파텔 수석 애널리스트를 인터뷰했는데, 일부 내용을 공유해 본다.
요약하면 1조 개의 파라미터를 실행하려고 하면 비용이 너무 많이 들고 사람이 읽을 수 있는 속도로 응답을 생성할 수 없는데, 이를 고려해 오픈AI는 GPT-4 모델 내에 베이비 모델 같은 일명 엑스퍼트(experts)를 구현했다.
사람들은 항상 모델 매개변수 수에 대해 이야기한다. 이는 기본적으로 얼마나 많은 다른 숫자를 곱하고, 더하고, 수학적 연산을 하고 있는지를 의미합니다. 언어 모델에 무언가를 입력하면 이를 토큰화한다. 토큰은 기본적으로 네 글자다. 이를 모델에 입력하면 다음 토큰이 무엇일지 예측한다. 토큰 예측이 완료되면 해당 토큰을 프롬프트에 다시 입력하고 모델을 통해 다시 실행하는 등의 과정을 거친다. 이것이 바로 응답을 생성하는 방식이다.
오픈AI GPT-4는 모델을 실행할 때 모든 매개변수를 사용하는 것이 아니라 특정 매개변수만 사용한다는 것이다. 특정 작업에 특화된 전문가들이 있는 것이다. 예를 들어, '이 엑스퍼트는 실제로 전치사를 정말 잘 알고 있다. 그리고 다른 엑스퍼트는 동물과 야생동물에 대한 개념을 정말 잘 알고 있다'는 식이다. 지나치게 단순화되었지만 기본적으로 이런 일이 일어나고 있다.그리고 하늘은 무슨 색이야?"라고 물으면 이 두 전문가를 사용하여 하늘을 생성할 수도 있고, 이 두 엑스퍼트를 사용해 '파랗다'를 생성할 수도 있다. GPT-4에는 16개 엑스퍼터들이 있다.