_ _ 멤버가 아니지만이 기사를 읽고 싶다면이 친구 링크를 확인하십시오. _ <.>
크기가 다른 오픈 소스 모델을 시도한 경우 궁금 할 것입니다. 배포하는 가장 효율적인 방법은 무엇입니까?
Pay-as-You-Go와 Serverless 제공 업체의 가격 차이는 얼마이며 LLM 서비스 플랫폼이 존재하면 AWS와 같은 참가자를 처리하는 것이 실제로 가치가 있습니까? 나는이 주제를 파고 AWS와 같은 클라우드 공급 업체를 Modal, Bentoml, Replice, Hugging Face 엔드 포인트 및 빔과 같은 업데이트 된 대안과 비교하기로 결정했습니다.
우리는 처리 시간, 냉장 시작 대기 시간 및 CPU, 메모리 및 GPU 비용과 같은 메트릭을 살펴보고 어떤 것이 가장 효과적이고 경제적인지 확인할 것입니다. 또한 배포의 용이성, 개발자 경험 및 커뮤니티와 같은 더 부드러운 메트릭을 다룰 것입니다.
CPU에 작은 모델을 배포하고 GPU에서 7-8 억 개의 매개 변수 모델을 실행하는 것과 같은 일부 사용 사례를 살펴 봅니다.
나는 또한 AWS Lambda에서 EFS를 사용하여 소규모 모델을 배포하는 과정을 탐구하고 Modal과 같은보다 현대적인 플랫폼과 비교할 것입니다.
나는 여기서 최적화 전략의 깊이에 들어 가지 않을 것입니다. 여기서는 추론 속도를 높이기 위해 다른 프레임 워크 나 양자화를 사용하는 것과 같은 것입니다. 이것은 완전히 별개의 주제입니다.
대신이 기사는 올바른 배포 옵션을 선택하는 방법에 중점을 두어 다양한 시나리오에서 성능을 비교하고 소규모 및 대규모 LLM을 배치하는 경제적 비용을 이해하는 데 도움이됩니다.
소개
상용 오픈 소스 모델을 사용하면 사용하기 쉬운 API 옵션이 많이 있습니다. 일부 옵션은이 목록을 확인하는 것이 좋습니다. 자체 주최자를 선택할 수도 있습니다-동일한 목록에서 로컬 추론 섹션을보십시오.
그러나 개인, 미세 조정 또는 덜 일반적인 모델을 사용해야 할 수도 있습니다.
당신은 확실히이 모델들도 로컬로 호스팅 할 수 있지만 컴퓨터에는 충분한 리소스가 필요하며 이러한 모델을 다른 서버에서 실행하는 응용 프로그램에 통합 할 수 있습니다.
이를 통해 주문형 또는 서버리스 플랫폼을 통해 오픈 소스 모델을 호스팅하게됩니다. 아이디어는 서버리스와 마찬가지로 주문형 또는 실행 중이든 사용하는 리소스에 대해서만 비용을 지불한다는 것입니다. 서버리스 및 온 디맨드는 약간 비슷하지만 서버리스를 사용하면 스케일 다운이 더 빠르므로 유휴 리소스 비용을 지불 할 필요가 없습니다.
더 많은 비교를 위해 아래의 낙서를 확인할 수 있습니다.
이 기사에서는 AWS의 EC2와 Lambda를 최근에 점점 더 인기있는 여러 플랫폼과 비교할 것입니다.
이 방법으로 가장 잘 작동하는 것을 더 잘 이해할 수 있습니다.
부수적으로, 나는이 공급 업체들로부터 보상을받지 못하므로 여기에 공유하는 정보는 개인적인 의견입니다.
포그 페이스 엔드 포인트는 $ 0.07로, 2 개의 VCPU와 4GB의 메모리가 있으며 불행히도 CPU 인스턴스는 실적이 저조합니다.
빔과 모달을 사용하면 필요한 자원을 조정하여 비용을 최소화 할 수 있습니다. 400m 모델의 경우 두 플랫폼 모두에서 3GB의 메모리와 1 개의 Core (2 VCPU) 만 필요하다고 계산했습니다.
반면에 복제는 모델 크기에 관계없이 4 개의 VCPU를 사용하여 여기에서 가장 비싼 CPU 옵션이됩니다.
우리는이 모든 플랫폼의 가격과 효율성을 비교하기 위해 일부 사용 사례를 다룰 것입니다. 사례 1 : CPU에서 실행되는 미세 조정 400m 모델
첫 번째 사례는 하루 종일 400m 모델의 산발적 작동입니다. 즉, 컨테이너로의 각 호출에는 스케일 업 및 축소가 필요합니다.
항상 확장하고 확장 할 필요는 없지만 계산해야합니다.
나는 하루 종일 250 개의 통화로 각 통화마다 30 개의 텍스트를 배치 하여이 사례 연구를 실행합니다. 단순화를 위해, 우리는 컨테이너가 실행 될 때마다 콜드 스타트가 시작된다고 가정합니다 (포옹 얼굴 끝점 제외).
서버리스 제공 업체는 여기에서 더 나은 선택입니다. Bentoml의 경우 크기를 자동으로 줄이기 전에 적어도 5 분 동안 유휴 상태를 유지해야하며 HF 엔드 포인트의 경우 15 분 동안 기다려야합니다.
참고, 자동 스케일 감소에 익숙하지 않은 경우이 개념은 허용 된 경우 인스턴스를 자동으로 확장하도록 플랫폼에 알려줍니다.
그들은 모두 다른 요구 사항을 가지고 있으며, Baseten 및 HF 엔드 포인트는 15 분의 무료 창을 가지고 있으며 Bentoml은 5 분입니다.
HF 엔드 포인트는 규모를 낮추는 데 최소 15 분이 걸리므로 5-6 분마다 함수를 호출하면 스케일 다운 시간이 없어서 냉장 시작이 거의 없지만 대부분의 시간은 유휴 상태입니다. .
우리는 HF 사례와 같이 17 시간의 자유 시간이 있고 Bentoml 케이스에서 18 시간이 본질적으로 비효율적임을 알 수 있습니다. 우리는 하루 종일 유휴 자원에 대한 대부분의 자금을 지불 할 것입니다.
는 인터넷 게이트웨이, 캐싱 모델을위한 EFS, 여러 도커 기반 Lambda 기능 (호스팅 스크립트의 두 모델) 및 Lambda 실행을위한 몇 가지
iAM 역할
vpc를 생성합니다.
<code>.code</code>
로그인 후 복사
로그인 후 복사
이것은 시간이 걸릴 것입니다.
나는 이탈리아의 작은 마을 에서이 일을하고 있었기 때문에 인터넷 연결에 실패했고 배포를 위해 GPU 기계를 빌려야했습니다.
<code># inference/summarization.py
import json
from transformers import pipeline
extractor = pipeline("text2text-generation", model="ilsilfverskiold/tech-keywords-extractor")
def handler(event, context):
# texts should be an array
texts = event['texts']
response = {
"statusCode": 200,
"body": extractor(texts)[0]
}
return response</code>
로그인 후 복사
로그인 후 복사
이것은 당신에게 일어나지 않을 수 있지만, 배치 할 수있는 충분한 리소스와 안정적인 인터넷 연결이 있는지 확인하십시오.
배포가 완료되면 AWS 콘솔의 Lambda로 이동하여 새로운 기능을 찾을 수 있습니다. 직접 테스트 할 수 있습니다. 첫 번째 런은 느리지 만 예열되면 속도가 더 빠릅니다.
다음은 Lambda 함수가 개인 서브넷 (VPC)에 있기 때문에 인터넷에 액세스 할 수 없으므로 AWS가 NAT 게이트웨이를 생성한다는 몇 가지 지침이 있습니다. 그러나 NAT 게이트웨이를 사용하는 데는 비용이 많이 들고 얼마나 많이 사용하든 하루에 약 1-3 달러가 발생합니다.
우리는 Lambda 기능을 공개 서브넷에 넣으려고 노력할 수 있지만 불행히도 시도하지 않았습니다. VPC 엔드 포인트를 생성하기 위해이 문제를 우회하는 방법이있을 수 있습니다.