brunch

You can make anything
by writing

C.S.Lewis

by delight Aug 27. 2023

오픈AI와 자체 구축 LLM을 비교하다

학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 번역 또는 요약 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인 주시면 반영토록 하겠습니다. 번역 과정에서 의미 전달이 애매한 일부 문장은 삭제했습니다. 이번 글은 머신러닝 엔지니어 Sergei Savvov가 미디엄에 공유한 글을 정리한 것입니다.


LLM에 대한 열기가 고조되면서 "프라이빗 LLaMA/팔콘/또 다른 인기 LLM 미세 조정하기", "나만의 개인 ChatGPT 훈련하기", "로컬 LLM을 만드는 방법" 등과 같은 많은 글을 찾을 수 있다. 동시에 왜 필요한지 설명하는 사람은 거의 없다.  자체 호스팅 LLM이 정말 필요한가? OpenAI API가 최선의 선택이 될 수도 있다.


이 글에서는 OpenAI에 API를 호출하는 방법과 자체 모델을 배포하는 방법, 두 가지 접근 방식을 비교한다. 비용, 텍스트 생성 품질, 개발 속도 및 개인 정보 보호와 같은 측면에 대해 다룬다.


경제학


자체 호스팅

예를 들어 LLaMA-2-70B를 살펴보자. 대부분의 회사들에서 더 작은 모델 버전을 사용하고 업무에 따라 미세 조정한다는 점에 주목할 필요가 있다. 하지만 저나는 의도적으로 가장 큰 버전을 선택했는데, 그 이유는 이 모델이 GPT-3.5 품질에 맞출 수 있는 유일한 모델이기 때문이다.


배포를 위해서는 8개 엔비디아 A100을 사용하는 것이 더 좋으므로 AWS에서는 g5.48xlarge 또는 GCP에서는 a2-megagpu-16g가 필요하다.


이들 서비스만이 유일한 제공업체가 아니며, 이 서비스를 사용해 다른 옵션을 탐색할 수도 있다는 점을 고려하는 것이 중요하다. 하지만 업계에서 가장 일반적으로 사용되는 서비스들 중 하나다.


서버 비용에 다음과 같은 추가 비용을 포함시켜 보자.


서버 설정, 로드 밸런싱 및 모니터링을 처리할 DevOps 전문가에 대한 비용.

모델 준비, 유지 관리 및 미세 조정을 담당하는 ML 엔지니어에 대한 비용.

선택 사항으로, 미세 조정을 위한 데이터셋 수집 및 주석 달기에 대한 일회성 비용.


추론 LLaMA-2-70B의 경우 GCP에서 월 약 4만~6만 달러로 추정할 수 있다.


OpenAI API

이제 OpenAI API를 사용하여 텍스트를 생성하는 데 드는 비용을 계산해 보자. 가격을 더 잘 이해하기 위해: 하루에 1만건 고객 쿼리가 발생하면 ($0.0015 + $0.002) * 10,000 * 30 =~ 하루 35달러, 즉 한 달에 1000달러 비용이 발생한다.


하루 10,000건의 요청 범위에서 사용량이 적은 경우, 자체 호스팅 LLM을 사용하는 것보다 OpenAI API가 더 저렴하게 작동한다.


물론 모델 크기를 줄이기 위해 양자화(quantization), 가지치기(pruning), 정밀도 혼합(mix-precision) 등 다양한 기법을 사용할 수 있다.그러나 이러한 방법은 손실이 발생하므로 성능이 다소 저하될 수 있다.


결론적으로 일일 활성 사용자 수가 적은 경우(10,000명 미만) OpenAI API를 사용하는 것이 최적의 선택이 될 것이다. 오픈 소스 모델이 활발히 개발되고 있지만, 여전히 GPT-3.5 및 GPT-4보다 품질이 떨어진다. 표준 벤치마크에서 모두 그렇다. 가까운 미래에 커뮤니티의 적극적인 참여와 지원 덕분에 새로운 모델의 정확도가 크게 향상될 것이라고 믿지만 현재로서는 LLM의 잠재력을 최대한 활용하고 싶다면 OpenAI API를 사용하는 것이 좋다.


타임투마켓

앱 개발에 참여해 본 사람이라면 과부하 상태에서도 안정적으로 작동하는 고품질 코드를 작성하는 데 얼마나 많은 시간이 걸리는지 잘 알고 있다. 오픈 소스 LLM을 프로덕션 환경에 배포하는 데 드는 비용과 복잡성은 기성 API를 사용하는 것에 비해 상당히 높다. 기성 API들은 로드 밸런싱, 리소스 모니터링, 수평적 확장 등에 대해 걱정할 필요가 없다. 따라서 빠른 프로토타입을 빌드하고 가설을 테스트하려는 경우 가장 좋은 솔루션은 OpenAI API를 사용하는 것이다.


프라이버시

이는 대부분 기업이 자체 호스팅 LLM을 선택하는 주요 요인 중 하나일 것이다. OpenAI의 이용 약관은 "당사 서비스를 개발하고 개선하는 데 도움을 주기 위해... 당사 API 이외 서비스에서 콘텐츠를 사용할 수 있다"고 언급하고 있다.


즉, ChatGPT에 보내는 모든 내용은 학습 데이터에 포함된다는 뜻이다. 데이터를 익명화하려는 노력에도 불구하고 데이터는 여전히 모델의 지식에 기여한다. 예를 들어 Avast는 모델이 사용자 데이터를 사용해 학습한 후에는 이를 삭제하기가 매우 어렵다는 사실을 강조하는 기사를 게시했다.(현재로서는 불가능). 삼성, Apple, JP모건 등 유명 기업을 포함해 많은 회사에서 이미 직원들 ChatGPT 사용을 금지하고 있다.


서비스 개선에 당신의 콘텐츠가 사용되는 것을 원하지 않는 경우 옵트아웃할 수 있다. 또는 Azure OpenAI 서비스를 사용할 수 있다. 이 서비스는 ChatGPT와 완전히 동일한 서비스이지만 프라이빗 Azure 호스팅을 통해 오픈소스로 제공되므로 OpenAI와 데이터를 공유하지 않는다. 이미 Azure를 사용 중인 회사라면 이 서비스를 통해 LLM 챗봇을 도입하는 것이 어렵지 않다.


반면 OpenAI는 API를 통해 전송된 데이터를 모델 학습이나 서비스 개선에 사용하지 않는다고 주장한다. 그러나 향후에도 이러한 입장이 바뀌지 않을 것이라고 확신할 수는 없다. 결론적으로, 민감한 데이터를 다루는 경우 반드시 자체 호스팅 LLM을 사용하거나 Azure OpenAI 서비스를 사용해야 한다.


통제

셀프 호스팅 솔루션을 사용하면 애플리케이션을 완벽하게 제어할 수 있다. 오직 팀만이 시스템 가동 시간을 책임진다. 외부 API를 사용하면 제어하기 어려운 새로운 종속성이 추가된다.


응답 시간은 부하에 따라 달라질 수 있다.

외부 서비스에 장애가 발생하면 애플리케이션에 영향을 미칠 수 있다.

개발자의 경험에서 알 수 있듯이 API 쿼터 제한이 예기치 않게 높아질 수 있다.


오픈 소스 모델을 사용하면 조직이 기본 코드에 액세스하고 필요에 따라 수정할 수 있으므로 더 많은 제어와 투명성을 제공한다. 이러한 수준의 사용자 지정은 특정 개인정보 보호, 보안 또는 규정 준수 요구 사항이 있는 회사에 유용할 수 있다.


결론

이 문제에서 무엇이 더 나은지에 대한 명확한 답은 없다. OpenAI 또는 자체 호스팅 LLM. 특정 요구 사항, 리소스, 우선순위에 따라 달라진다. 성능, 사용자 지정, 데이터 프라이버시, 규정 준수와 같은 요소들을 평가해 LLM을 활용하기 위한 올바른 접근 방식을 결정해야 한다. 호스팅 모델은 개인 정보 보호, 안정성 또는 규정 준수에 필요한 반면, OpenAI는 특히 광범위한 요구 사항과 높은 워크로드가 예상되지 않는 경우 신속한 프로토타이핑 및 가설 테스트에 유리하다.


나는 OpenAI의 API를 사용해 프로토타입을 만든 다음 일부 기능을 자체 호스팅 모델로 점진적으로 대체하는 것을 추천한다.모델 호출 체인을 설정하해이러한 접근 방식을 조합해 사용할 수도 있습니다. 체인을 결합하고 생성하는 주제는 매우 복잡하므로 이를 완전히 다루려면 전용 문서가 필요하다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari