> 기술 주변기기 > 일체 포함 > 오픈 소스 LLM을 호스팅하는 경제학

오픈 소스 LLM을 호스팅하는 경제학

王林
풀어 주다: 2025-02-26 03:15:10
원래의
788명이 탐색했습니다.
생산 환경에서의 대형 언어 모델

_ _ 멤버가 아니지만이 기사를 읽고 싶다면이 친구 링크를 확인하십시오. _ <.> 크기가 다른 오픈 소스 모델을 시도한 경우 궁금 할 것입니다. 배포하는 가장 효율적인 방법은 무엇입니까?

Pay-as-You-Go와 Serverless 제공 업체의 가격 차이는 얼마이며 LLM 서비스 플랫폼이 존재하면 AWS와 같은 참가자를 처리하는 것이 실제로 가치가 있습니까? Economics of Hosting Open Source LLMs 나는이 주제를 파고 AWS와 같은 클라우드 공급 업체를 Modal, Bentoml, Replice, Hugging Face 엔드 포인트 및 빔과 같은 업데이트 된 대안과 비교하기로 결정했습니다.

우리는 처리 시간, 냉장 시작 대기 시간 및 CPU, 메모리 및 GPU 비용과 같은 메트릭을 살펴보고 어떤 것이 가장 효과적이고 경제적인지 확인할 것입니다. 또한 배포의 용이성, 개발자 경험 및 커뮤니티와 같은 더 부드러운 메트릭을 다룰 것입니다.

CPU에 작은 모델을 배포하고 GPU에서 7-8 억 개의 매개 변수 모델을 실행하는 것과 같은 일부 사용 사례를 살펴 봅니다.

나는 또한 AWS Lambda에서 EFS를 사용하여 소규모 모델을 배포하는 과정을 탐구하고 Modal과 같은보다 현대적인 플랫폼과 비교할 것입니다.

나는 여기서 최적화 전략의 깊이에 들어 가지 않을 것입니다. 여기서는 추론 속도를 높이기 위해 다른 프레임 워크 나 양자화를 사용하는 것과 같은 것입니다. 이것은 완전히 별개의 주제입니다.

대신이 기사는 올바른 배포 옵션을 선택하는 방법에 중점을 두어 다양한 시나리오에서 성능을 비교하고 소규모 및 대규모 LLM을 배치하는 경제적 비용을 이해하는 데 도움이됩니다.

소개 상용 오픈 소스 모델을 사용하면 사용하기 쉬운 API 옵션이 많이 있습니다. 일부 옵션은이 목록을 확인하는 것이 좋습니다. 자체 주최자를 선택할 수도 있습니다-동일한 목록에서 로컬 추론 섹션을보십시오.

그러나 개인, 미세 조정 또는 덜 일반적인 모델을 사용해야 할 수도 있습니다.

당신은 확실히이 모델들도 로컬로 호스팅 할 수 있지만 컴퓨터에는 충분한 리소스가 필요하며 이러한 모델을 다른 서버에서 실행하는 응용 프로그램에 통합 할 수 있습니다.

이를 통해 주문형 또는 서버리스 플랫폼을 통해 오픈 소스 모델을 호스팅하게됩니다. 아이디어는 서버리스와 마찬가지로 주문형 또는 실행 중이든 사용하는 리소스에 대해서만 비용을 지불한다는 것입니다. Economics of Hosting Open Source LLMs 서버리스 및 온 디맨드는 약간 비슷하지만 서버리스를 사용하면 스케일 다운이 더 빠르므로 유휴 리소스 비용을 지불 할 필요가 없습니다.

더 많은 비교를 위해 아래의 낙서를 확인할 수 있습니다.

이 기사에서는 AWS의 EC2와 Lambda를 최근에 점점 더 인기있는 여러 플랫폼과 비교할 것입니다.

이 방법으로 가장 잘 작동하는 것을 더 잘 이해할 수 있습니다. Economics of Hosting Open Source LLMs 부수적으로, 나는이 공급 업체들로부터 보상을받지 못하므로 여기에 공유하는 정보는 개인적인 의견입니다.

이해 관계자라면, 이것은 다양한 옵션의 경제성과 모델 크기 및 공급 업체 선택에 따라 추론을 실행하는 비용을 이해하는 좋은 방법입니다.

이 기사의 첫 번째 부분은 누구나 참여할 수있는 연구를 다루고, 두 번째 부분은 읽기를 원하지 않을 수도있는 배포 기술의 측면을 다룹니다. llm 서비스 프레임 워크 이제 시작하기 전에 서비스 모델에 대한 API 엔드 포인트 설정을 단순화하는 LLM 추론 프레임 워크에 대해 언급하고 싶습니다. VLLM, Tensorrt 및 TGI를 포함하여 몇 가지 오픈 소스 LLM 서비스 프레임 워크가 있습니다. 이전에 공유 한 목록의 LLM 서비스 프레임 워크 섹션에서 가장 인기있는 프레임 워크 중 일부를 확인할 수 있습니다 (아래 참조).

일부 사람들은 이러한 프레임 워크 사이의 성능 차이를 측정했으며 자신의 연구를 반드시 수행해야합니다.

그러나이 기사에서는 모델이 포옹 얼굴 엔드 포인트를 통해 배치되지 않는 한 널리 사용되는 VLLM을 사용합니다.

CPU에서 실행되는 작은 컨버터 모델을 배포하려면 Hugging Face 파이프 라인 또는 Transformers 라이브러리를 직접 사용했습니다.

연구 첫 번째 부분에서는 주문형 및 서버리스 선택의 효율성, 비용 및 성능을 살펴볼 것입니다. 먼저 메트릭을 소개 한 다음 기술 세부 사항을 파헤칩니다.

처리 시간 먼저 컨테이너가 예열 상태에있을 때 (즉, 지난 몇 초 동안 사용) 플랫폼 전체의 총 처리 시간을 먼저 측정하겠습니다. 동시성이 없습니다.

우리는 처리 시간을 응답을 완료하는 데 걸리는 총 시간으로 정의합니다. 일부 사람들은 특히 출력 스트리밍시 첫 번째 응답 시간을 측정 할 수 있습니다.

일관성을 위해 각 테스트에 동일한 프롬프트를 사용했습니다. 400m 모델의 경우 텍스트를 30 조각으로 배치했습니다.

아래 표시기를 볼 수 있습니다.

Economics of Hosting Open Source LLMs

나는 같은 날 각 플랫폼 에서이 테스트를 몇 번만 운영했습니다. 이상적으로는 며칠 안에 테스트해야합니다. 이 테스트 중 일부는 운이 좋지 않을 수 있습니다.

그러나 그러나 **** 서버리스 제공 업체에 대한 성능에 대해 논의하기 위해 CPU에서 모달과 빔이 매우 잘 작동합니다 (가벼운 녹색 막대로 표시). 8B 모델을 시작하는 것보다 400m 모델을 시작하는 것이 더 쉽습니다.

작은 모델 (130m 미만)에서도 특히 EFS 캐시 모델을 사용할 때 AWS Lambda에서 작동한다는 것을 알게됩니다.

나는 얼굴 엔드 포인트 포옹을 정말 좋아하지만, 그들의 CPU 인스턴스가 예측할 수 없다는 것을 알았습니다. 그러나 AWS GPU 인스턴스는 매우 신뢰할 수 있고 빠릅니다.

L4 인스턴스에서 7B 모델을 호스팅하더라도 10 초 안에 반환 할 수있는 GPU에 대해 매우 빠른 응답을 얻을 수 있습니다. 서버리스 제공 업체가 더 필요한 서버리스 제공 업체로 구현할 수없는 것입니다. 강력한 GPU.

A100 GPU를 선택하면 모든 공급자가 7B-8B 매개 변수 모델에 대해 잘 작동하며 몇 초 만에 전체 응답을 반환 할 수 있음을 알 수 있습니다.

물론 속도는 매우 빠르지 만 다른 지표를 고려해야합니다.

콜드 스타트 ​​ 다음, 콜드 스타트에 뛰어 들자, 즉 모델이 한동안 사용되지 않으면 응답하는 데 걸리는 시간. 모델을 캐시하더라도 여전히 몇 초만 더 추가 될 수있는 샤드를 다운로드해야 할 수도 있습니다.

온 디맨드 서비스를 사용하면 시작 시간 속도를 높이기 위해 모델을 캐시 할 수 있습니다. 여기서는이 작업을 수행하지 않지만 대부분의 서버리스 제공 업체는 빌드 시간에 모델을 캐시하는 방법을 보여 주므로 콜드 부팅 대기 시간을 줄일 수 있습니다.

다음 플랫폼의 지표를 살펴 보겠습니다.

콜드 스타트 ​​중 전체 처리 시간을 계산했는데 콜드 스타트 ​​전용 계산을 직접 확인하십시오.

예상대로, 캐시 모델이없는 주문형 서비스는 Bentoml, Hugging Face Gendpoints 및 Baseten과 같이 성능이 저하됩니다.

껴안는 얼굴 엔드 포인트는 달리기 후에도 잘 수행 될 수 있지만, 지난 30 초에서 5 분 ~ 5 분 동안 콜드 스타트를 경험할 수 있습니다. 또한 컨테이너가 다시 실행되기 전에 500 개의 오류를 던집니다.

서버리스 제공 업체는 첫 번째 배포시 모델 가중치를 캐시하도록 요구함으로써 빠르게 확장하도록 설계 되었기 때문에 빠릅니다.

빔은 CPU에서 가장 잘 수행 한 다음 Baseten, Modal 및 Lambda가 EFS를 제공합니다. 작은 모델은 일반적으로 더 빨리 시작합니다. Lambda는 빠른 처리 시간과 125m 파라미터 만있는 작은 모델의 최소 콜드 스타트 ​​대기 시간을 통해 우수한 결과를 보여줍니다.

작은 모델에는 모달 또는 빔을 사용하는 것이 좋습니다.

GPU 및 CPU 가격 가격을 책정합시다. CPU, 메모리 및 GPU 리소스의 비용을 살펴 봐야합니다.

플랫폼 간에는 몇 가지 명백한 차이가 있습니다. Economics of Hosting Open Source LLMs 서버리스 제공 업체는 GPU 사용 외에도 CPU 및 메모리 요금을 청구하기 때문에 종종 더 비쌉니다. 그러나 그들은 유휴 시간에 대해 청구하지 않으므로 더 높은 비용을 상쇄하는 데 도움이 될 수 있습니다. 아래 그림에서 NVIDIA GPU의 가격을 찾을 수 있습니다.

그러나, 당신은 그들 모두의 GPU 비용이 가장 높은 Sagemaker를 살펴 봐야합니다. AWS를 사용해야하는 경우 EC2를 직접 사용하는 것이 가장 좋습니다. Economics of Hosting Open Source LLMs CPU 가격도 살펴 보겠습니다.

포그 페이스 엔드 포인트는 $ 0.07로, 2 개의 VCPU와 4GB의 메모리가 있으며 불행히도 CPU 인스턴스는 실적이 저조합니다.

빔과 모달을 사용하면 필요한 자원을 조정하여 비용을 최소화 할 수 있습니다. 400m 모델의 경우 두 플랫폼 모두에서 3GB의 메모리와 1 개의 Core (2 VCPU) 만 필요하다고 계산했습니다.

반면에 복제는 모델 크기에 관계없이 4 개의 VCPU를 사용하여 여기에서 가장 비싼 CPU 옵션이됩니다.

우리는이 모든 플랫폼의 가격과 효율성을 비교하기 위해 일부 사용 사례를 다룰 것입니다. Economics of Hosting Open Source LLMs 사례 1 : CPU에서 실행되는 미세 조정 400m 모델 첫 번째 사례는 하루 종일 400m 모델의 산발적 작동입니다. 즉, 컨테이너로의 각 호출에는 스케일 업 및 축소가 필요합니다.

항상 확장하고 확장 할 필요는 없지만 계산해야합니다.

나는 하루 종일 250 개의 통화로 각 통화마다 30 개의 텍스트를 배치 하여이 사례 연구를 실행합니다. 단순화를 위해, 우리는 컨테이너가 실행 될 때마다 콜드 스타트가 시작된다고 가정합니다 (포옹 얼굴 끝점 제외).

서버리스 제공 업체는 여기에서 더 나은 선택입니다. Bentoml의 경우 크기를 자동으로 줄이기 전에 적어도 5 분 동안 유휴 상태를 유지해야하며 HF 엔드 포인트의 경우 15 분 동안 기다려야합니다.

참고, 자동 스케일 감소에 익숙하지 않은 경우이 개념은 허용 된 경우 인스턴스를 자동으로 확장하도록 플랫폼에 알려줍니다.

그들은 모두 다른 요구 사항을 가지고 있으며, Baseten 및 HF 엔드 포인트는 15 분의 무료 창을 가지고 있으며 Bentoml은 5 분입니다.

HF 엔드 포인트는 규모를 낮추는 데 최소 15 분이 걸리므로 5-6 분마다 함수를 호출하면 스케일 다운 시간이 없어서 냉장 시작이 거의 없지만 대부분의 시간은 유휴 상태입니다. .

우리는 HF 사례와 같이 17 시간의 자유 시간이 있고 Bentoml 케이스에서 18 시간이 본질적으로 비효율적임을 알 수 있습니다. 우리는 하루 종일 유휴 자원에 대한 대부분의 자금을 지불 할 것입니다.

여기에 센트 또는 1 달러는 처음 며칠 동안별로 많지 않지만 잠시 후에 축적 될 것입니다.

사람들이 매일 저축 계좌에 약간의 돈을 절약하는 것에 대해 생각하십시오. 여기에서 초과 지불하는 것은 그 반대 일 것입니다. Economics of Hosting Open Source LLMs 그러나 컨테이너가 예열 상태에있는 동안 250 통화를 모두 실행하면 어떻게됩니까? 얼마나 많은 차이가 있습니까?

빔은 여기서 이상적인 것처럼 보이지만 다른 플랫폼에서 사용할 수없는 최대 CPU보다 더 많이 실행되고 있다고 생각합니다.

이 경우 콜드 스타트와 자유 시간이 사라집니다. 이것은 한 번에 모든 것을 한 번에 작업하면 영구 컨테이너를 사용하는 것이 더 나은 옵션이라는 것을 보여줍니다. 훨씬 저렴합니다. Economics of Hosting Open Source LLMs 얼굴 엔드 포인트와 Bentoml을 포옹하기 위해 400m 모델은 T4 GPU에 가장 적합하다는 점에 주목할 가치가 있습니다. 이 설정은 비용을 줄이면서 처리 시간을 크게 줄입니다. 주목해야 할 것은 EFS와 함께 AWS Lambda를 사용하는 경우 NAT 게이트웨이에 대한 추가 요금이 부과되며, 이는 하루에 $ 1 ~ $ 3 증가하여 여기에 표시된 것보다 총 비용이 더 높아집니다. 이제, 두 번째 케이스로 넘어 가자 - GPU에서 7b ~ 8b 매개 변수가 실행되는 더 큰 모델.

사례 2 : GPU에서 실행되는 일반 8B 모델 이 경우, 나는 Mistral, Gemma 또는 Llama와 같은 크기의 크기 모델을 Mistral, Gemma 또는 Llama와 같은 모델을 테스트하고 있습니다.

이 장면에는 하루 종일 모델에 대한 산발적 호출이 포함됩니다. 우리는 컨테이너가 호출 될 때마다 컨테이너가 스케일링 및 스케일 다운이라고 가정하지만, 항상 그렇지는 않지만 항상 그런 것은 아닙니다.

CPU 테스트와 마찬가지로, 우리는 주문형 서비스가 스케일 다운 시간이 없기 때문에 24 시간 동안 실행된다고 가정합니다.

각 공급 업체에 사용하는 GPU 인스턴스를 기록했습니다. 아래 막대 차트를 확인하십시오.

서버리스 제공 업체의 경우 곱셈으로 처리 시간을 약간 과장했지만 총 가격 계산에서 콜드 스타트를 제외했습니다.

실제 비용이 낮을 수 있지만이 조정은주의를 기울입니다. 일부 스타트 업에 대한 비용을 지불하기 때문에 더 많은 비용이 청구될 수 있습니다.

CPU 케이스에서 보았 듯이

한 번에 250 개의 통화를 실행하는 것이 더 비용 효율적입니다.

가장 저렴한 의인성 및 OpenAI 모델에 대한 계산을 설정하고 자체 호스팅 비용과 비교하는 경우 동일한 프롬프트로 호출하는 모델이 호스팅보다 훨씬 저렴한 비용을 알 수 있습니다.

사람들은이 공급 업체를 LLM에서 McDonald 's라고 부릅니다.

우리는 오픈 소스가 더 저렴할 것이라고 생각하지만, 우리는 호스팅의 실제 단위 경제를 계산하지는 않습니다. 이 플랫폼은 또한 벤처 캐피탈 펀드에 의해 보조금을 지급합니다. 그러나 앞에서 언급했듯이 오픈 소스 모델에 액세스하기 위해 여기에서 찾을 수있는 공급 업체를 사용하는 것이 더 저렴합니다.

세부 계산을 파헤 치려면이 파일을 볼 수 있습니다. 공정한 경고 - 조금 지저분 해 보입니다.

사용자 경험

당신은 지금까지 자신의 결론에 도달했을지 모르지만 마지막으로 소개하고 싶은 것은 사용자 경험입니다.

HF 엔드 포인트는 코더가 아닌 경우 사용하기가 매우 쉽습니다. 간단한 클릭으로 Huggingface Center에서 모델을 배포 할 수 있으므로 사용하기 쉽습니다. 기술을 알고 있다면 더 많은 것을 제어 할 수있는 다른 옵션을 선호 할 수 있습니다.

복제를 위해, 그들은 거대한 팬층과 다른 사람들이 공유하는 많은 공개 모델을 가지고 있습니다. 주변에 커뮤니티가 있습니다. 그들은 한 번의 클릭 교육 및 배포 프로세스가있어 운영을보다 쉽게 ​​만들 수 있습니다.

그러나 그러나 나는 Modal, Beam 및 Bentoml이 전체적으로 좋은 개발자 경험을 보유한 것을 발견했습니다. 터미널에서 직접 배포하고 서버에서 코드를 실행할 수 있습니다.

복제의 경우 자신의 모델을 배포하는 경우 GPU 기계가 필요하며 Baseten의 경우 Truss라는 라이브러리를 다운로드해야합니다.

이 표에서 내 메모 중 일부를 수집했습니다 (아래 참조).

이 중 하나를 사용하기를 원한다면 테이블에는 스크립트를 시작하는 링크도 포함됩니다.

이제 우리는 비 기술적 측면의 대부분을 다루었으므로 CPU, AWS Lambda 및 Modal에서 잘 수행되는 모델에 대한 두 가지 배포 옵션을 안내해 드리겠습니다.

기술 세부 사항 이 섹션에서는 AWS Lambda 및 EFS를 사용하여 키워드 추출을 위해 미세 조정 된 400m 모델을 배포하고 Modal과 같은 업데이트 된 플랫폼의 배포와 비교하는 방법을 소개합니다.

두 도구는 서버리스이므로 빌드 할 때 모델을 올바르게 캐시하여 연속 실행에서 빠르게 액세스 할 수 있도록해야합니다. AWS는 쉽게 조정할 수있는 기성품 스크립트를 제공하며 여기에서 모달을위한 스크립트도 준비했습니다.

우리는 각 플랫폼에 모델을 배포하고 배포 프로세스의 주요 차이점을 반영하는 두 가지에 중점을 둘 것입니다.

efs

를 사용하여 Lambda에 배포하십시오 이 부분의 경우,이를 읽거나 따라 배포 할 수 있습니다. Economics of Hosting Open Source LLMs 를 따르려면 컴퓨터에 git, aws cdk, docker, nodejs 18, python 3.9를 설치해야합니다. 이 모든 것을 설치 한 후에는 새 터미널을 열 수 있습니다.

새 디렉토리를 만들려면 아래의 저장소를 복제하십시오.

생성 된 디렉토리를 입력하십시오.

이제 코드 편집기에서 이러한 파일을 열 수 있습니다.

나는 vscode를 사용하므로 그렇게합니다.

이제 생성 된 파일로 이동하여 조정할 수 있습니다. 추론 폴더를 보면 Sentiment.py 및 Summary.py의 두 파일이 표시됩니다.

우리는이 파일의 모델을 원하는 모델로 쉽게 변경할 수 있습니다. Economics of Hosting Open Source LLMs Huggingface Center에 가서 관심있는 모델을 찾으면.

나는 내 자신의 모델 중 하나를 사용하겠습니다.

그러한 모델을 구축하는 방법에 관심이 있으시면

에 대한 키워드 추출 튜토리얼 및 텍스트 분류 자습서를 확인할 수 있습니다.

관심있는 모델을 찾은 후 "이 모델 사용"버튼을 클릭 할 수 있습니다.

Economics of Hosting Open Source LLMs 당신이 볼 수 있듯이, 우리는 여기에 두 가지 옵션이 있지만이 스크립트는 파이프 라인을 사용하고 있으므로 동일한 작업을 수행 할 수 있습니다. 나는 일반적으로 사용하는 새 모델을 사용하여 다음 파일의 코드를 변경했으며 "텍스트"는 "텍스트"뿐만 아니라 배치 처리에 사용될 것으로 기대했습니다.

위의 이미지를보고 파일 구조를 볼 수 있습니다.

나는 일반적으로 사용하는 다른 모델을 사용하여 두 스크립트를 변경했습니다. 완료되면 스크립트를 저장하십시오.

그런 다음 터미널에서 가상 환경을 설정할 수 있습니다.

Economics of Hosting Open Source LLMs 요구 사항을 다운로드하기 전에 Nodejs 18이 있는지 확인하십시오.

AWS CDK로 구성한 사용자가 다른 작업을 수행하기 전에 올바른 권한이 있는지 확인해야합니다.

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
로그인 후 복사
로그인 후 복사
후에는 부트 스트랩을 실행할 수 있습니다.

여기에 ECR에 문제가있는 경우 수동으로 저장소를 작성하십시오.

컴퓨터에서 Docker를 실행하면 이제 터미널을 통해 배포 할 수 있습니다.

여기에서 CDK는 추론 폴더에서 dockerfile을 사용하여 Lambda 기능의 Docker 이미지를 구축하기 시작합니다. 각 Lambda 함수에는 및 가 장착되어 있습니다.

<code>cd zero-administration-inference-with-aws-lambda-for-hugging-face</code>
로그인 후 복사
로그인 후 복사
는 인터넷 게이트웨이, 캐싱 모델을위한 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 엔드 포인트를 생성하기 위해이 문제를 우회하는 방법이있을 수 있습니다.

우리는 EFS 용 VPC가 필요하므로 기능을 호출 할 때마다 모델을 다운로드 할 필요가 없도록 모델을 캐시 할 수 있습니다. 예, AWS Lambda는 매우 관대 한 무료 계층을 가지고 있지만 다른 리소스를 추가 할 때 다른 비용을 알고 있어야합니다.

완료되면 NAT 게이트웨이에 24/7을 지불 할 필요가 없도록 이러한 자원을 파괴하는 것이 좋습니다.

이 방법을 사용하기위한 추가 지침은 메모리와 CPU를 별도로 지정할 수 없습니다. 더 많은 CPU가 필요한 경우 메모리를 늘려 비쌀 수 있습니다.

그러나 125m 이하의 작은 모델을 사용하면 AWS Lambda를 완전히 무시하지 않습니다. 메모리가 적은 Lambda 기능을 구성 할 수 있습니다.

Modal에 배포 모달은 ML 모델을 배포하기 위해 만들어져서이 프로세스가 더욱 간단해질 것입니다. 우리는 여기에서 사용하는 스크립트를 사용하여 이전과 동일한 모델을 배포하고 있으며 여기에서 찾을 수 있습니다.

<code>git clone https://github.com/aws-samples/zero-administration-inference-with-aws-lambda-for-hugging-face.git</code>
로그인 후 복사
로그인 후 복사
배포시 함수에서 메모리, CPU 및 GPU를 직접 지정할 수 있습니다. 또한 스크립트에서 엔드 포인트가 생성되도록 요청할 수있어 엔드 포인트를 사용하여 모델을보다 쉽게 ​​테스트 할 수 있습니다.

그러나 우리가 다른 플랫폼을 사용하고 있다고해서 그것이 우리에게 돈이 들지 않는다는 것을 의미하지는 않습니다.

우리가 이전에 한 계산을 기억하십시오.

시작하려면 모달 계정이 필요하고 Python3을 설치해야합니다. 계정을 만들면 터미널을 열고 새 폴더를 만들 수 있습니다.

그런 다음 가상 환경을 설정할 수 있습니다.

PIP를 사용하여 모달 패키지를 설치하십시오.

modal 사용, 모든 자원, 환경 설정 및 실행은 온 프레미스가 아닌 플랫폼에서 수행되므로 AWS에 배포 할 때와 동일한 문제가 없습니다.

인증하려면이 명령을 실행하십시오.

이제 폴더에 파일이 없으면 파일을 작성하십시오.

다음 코드를 간단히 붙여 넣을 수 있지만 소개합니다.
<code>cd zero-administration-inference-with-aws-lambda-for-hugging-face</code>
로그인 후 복사
로그인 후 복사

나는 같은 모델을 사용하고 있습니다. 다른 모델을 사용할 수 있습니다.

배포하려면 다음 명령을 실행하십시오.
<code>.code</code>
로그인 후 복사
로그인 후 복사

이 스크립트는 modal

에서 "Text-Generation"이라는 응용 프로그램을 설정하고 필요한 종속성 (Huggingface-Hub, Transformers 및 Torch)으로 Docker 이미지를 작성합니다.
<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>
로그인 후 복사
로그인 후 복사
는 이러한 종속성을 모달 환경에서 직접 설치하므로 로컬에서 다루지 않아도됩니다. 앱은 및 를 요청합니다. 이는 테스트 중에 사용한 설정입니다. 모델 캐시는 Snapshot_download ()를 사용하여 포옹 얼굴에서 모델을 추출하고 /캐시에 저장하는 @modal.enter () 데코레이터는 Textextraction 클래스로 첫 번째 호출에서 실행되며, 캐시 된 파일에서 메모리에 토큰 화기와 모델을로드합니다. 모델을로드 한 후 extract_text () 메소드를 호출하여 추론을 실행할 수 있습니다. <..>는 사후 요청을 통해 Extract_Text ()를 누를 수있는 서버리스 API 엔드 포인트를 설정하고 텍스트 추출 결과를 얻을 수 있습니다.

전체 프로세스는 모달 환경에서 실행되므로 컴퓨터에 충분한 리소스가 있는지 걱정할 필요가 없습니다. 물론 이것은 더 큰 모델에 더 중요합니다. 배포가 완료되면 끝 점이 포함 된 터미널에서 이와 유사한 내용이 표시됩니다.

이 응용 프로그램을 모달 대시 보드에서 볼 수 있습니다.

이 함수를 실행하려면 터미널에서 얻는 URL을 호출 할 수 있습니다. 이것은 인증을 추가하지 않습니다.이 기능을 추가하려면 Modal의 문서를 참조하십시오.

일부 지침 배포 선택을 통해 지금 배운대로, 빌드 시간에 먼저 모델을 캐시하여 스케일 다운 후 더 빠른 콜드 스타트를 보장해야합니다. 다른 플랫폼에 배포하려면 여기에서 모든 스타터 스크립트를 확인할 수 있습니다.

새로운 플랫폼을 사용하는 것이 반드시 나쁘지는 않으며 훨씬 더 빠릅니다. 그러나 때때로 귀하의 조직은 사용할 수있는 플랫폼에 엄격한 제한이 있습니다. 더 쉬운 옵션을 사용할 수 있으며 약간 높을 수 있지만, 내가 보여주는 것은 EC2를 직접 사용하는 비용과 크게 다르지 않습니다. 만약 당신이 이것을 본다면, 나는 당신이 내가 여기서 한 연구를 이해하고 공급 업체를 선택하는 데 도움이되기를 바랍니다.

위 내용은 오픈 소스 LLM을 호스팅하는 경제학의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿