Deploy Falcon-40B op AWS: 40% goedkoper dan SageMaker

Gebouwd voor snelheid: ~10ms latentie, zelfs onder belasting
De razendsnelle manier om je modellen te bouwen, volgen en implementeren!
- Verwerkt 350+ RPS op slechts 1 vCPU — geen tuning nodig
- Productieklaar met volledige enterprise-ondersteuning
In dit artikel bespreken we het deployen van het Falcon model op je eigen cloud.
Het Technology Innovation Institute in Abu Dhabi heeft Falcon ontwikkeld, een innovatieve reeks taalmodellen. Deze modellen, uitgebracht onder de Apache 2.0-licentie, vertegenwoordigen een aanzienlijke vooruitgang in het vakgebied. Met name Falcon-40B valt op als een echt open model dat talloze closed-source modellen overtreft in zijn mogelijkheden. Deze ontwikkeling brengt enorme kansen met zich mee voor professionals, liefhebbers en de industrie, aangezien het de weg vrijmaakt voor verschillende boeiende toepassingen.
In deze blogpost beschrijven we het LLMOps-proces op SageMaker - het hosten van het Falcon model op je eigen AWS cloud-account en de verschillende beschikbare opties. Bovendien zijn we van plan in de toekomst nog een blogpost uit te brengen, gericht op het draaien van Falcon op andere clouds.
We hebben ook een andere blog geschreven over het deployen van Llama 2 op je cloud. Bekijk deze hieronder:
Om verder te gaan: de Falcon-familie heeft twee basismodellen: Falcon-40B en Falcon-7B. Het model met 40B parameters staat momenteel bovenaan de ranglijst van het Open LLM Leaderboard, terwijl het 7B-model het beste is in zijn gewichtsklasse. We zullen de opties voor het deployen van het Falcon 40B-model bespreken.
Falcon-40B vereist ~90GB aan GPU-geheugen - dus dit past niet op een enkele A100-instance met 80 GB RAM. Het instance-type dat werkt in AWS is g5.12xlarge (https://aws.amazon.com/ec2/instance-types/g5/). We kunnen het model deployen als een API-endpoint voor realtime inference of het laden in de code zelf voor batch inference use cases.
De code om het model te laden en er een tekstgeneratietaak op uit te voeren is als volgt:
# pip install "transformers[tokenizers]>=4.29.2,<5.0.0" # "sentencepiece==0.1.99" "accelerate>=0.19.0,<1.0.0" # "safetensors>=0.3.1,<0.4.0"
import torch
from transformers import pipeline
generator = pipeline(
"text-generation",
model="tiiuae/falcon-40b-instruct",
tokenizer="tiiuae/falcon-40b-instruct",
torch_dtype=torch.bfloat16,
device_map="balanced_low_0",
)
output = generator(
"Explain to me the difference between nuclear fission and fusion.",
min_new_tokens=30,
max_new_tokens=50
)
print(output)
Python-code om Falcon40B te laden in het notebook
Het model deployen als een API
We kunnen het model deployen als een endpoint op AWS SageMaker, een EKS-cluster of een gewone EC2-machine. Om het model op SageMaker te deployen, kun je deze handleiding volgen: https://aws.amazon.com/blogs/machine-learning/deploy-falcon-40b-with-large-model-inference-dlcs-on-amazon-sagemaker/.

Om het model op EKS te deployen, moeten we een EKS-cluster opzetten, een GPU-nodepool en GPU-operator erop instellen, en een ingress-laag toevoegen om het API-endpoint te kunnen aanroepen. TrueFoundry kan dit hele traject veel eenvoudiger maken door van modeldeployment een proces met één klik te maken.

Kostenanalyse
Laten we duiken in de kosten van het draaien van Falcon LLM op je eigen AWS-account. We vergelijken de kosten van het draaien op SageMaker versus TrueFoundry.
SageMaker-kosten
Kosten van SageMaker-instance (ml.g5.12xlarge) per uur (us-east-1): $7.09
We hebben een snelle benchmark uitgevoerd om de request-throughput en latency voor het Falcon-model op AWS JumpStart te berekenen. De exacte aantallen zullen variëren op basis van je promptlengtes en de gelijktijdigheid van requests, maar dit zou een globaal idee moeten geven:


Zoals we in de bovenstaande grafieken kunnen zien, is de p50-latency ongeveer 5,7 seconden en de p90 ongeveer 9,4 seconden. We behalen een throughput van ongeveer 6-7 requests per seconde.
Het model deployen op EKS met TrueFoundry
TrueFoundry deployt het model op EKS en we kunnen spot- en on-demand instances gebruiken om de kosten drastisch te verlagen. Laten we de on-demand, spot en reserved prijzen per uur van de g5.12xlarge machine in de regio us-east-1 vergelijken.
On-demand: $5.672 (20% goedkoper dan SageMaker)
Spot: $2.076 (70% goedkoper dan SageMaker)
1 jaar Reserved: $3.573 (50% goedkoper dan SageMaker)
3 jaar Reserved: $2.450 (65% goedkoper dan SageMaker)
Laten we de throughput en latency vergelijken van het model dat is gedeployed op EKS met behulp van TrueFoundry.


Zoals we in de bovenstaande statistieken kunnen zien, is de p50-latency 5,8 seconden en p90 9,5 seconden. De throughput is ongeveer 6-7 requests per seconde. Zoals we hierboven zien, is de
Prijscalculator
Laten we proberen de kosten te schatten van het hosten van het Falcon-model voor een daadwerkelijke use case met live verkeer. Laten we aannemen dat we 100K requests per dag ontvangen en dat we voor elke single request het Falcon-model aanroepen. Om dit verkeer te verwerken, zou 1 instance van g5.2xlarge voldoende moeten zijn om het verkeer af te handelen, aangezien elke instance 6 requests per seconde kan verwerken en 100K requests per dag neerkomt op 1 request per seconde. Om betrouwbaarheidsredenen willen we echter ten minste 2 instances draaien. Laten we de kosten van het draaien van de 2 instances vergelijken:
SageMaker: $7.1 * 2 ($ per uur) = $10.000 per maand
EKS:
Met spot-instances: $2 * 2 ($ per uur) = $2.880 per maand
Met on-demand instances: = $8.000 per maand
We kunnen ook een combinatie van 1 spot- en 1 on-demand instance gebruiken om de kosten met ongeveer 40% te verlagen en tevens een hoog niveau van betrouwbaarheid te bereiken.
Praat met ons
Als je het rendement van je LLM-projecten wilt maximaliseren en je bedrijf wilt versterken om AI op de juiste manier in te zetten, praten we graag met je verder om ervaringen uit te wisselen.
TrueFoundry AI Gateway levert een latentie van ~3–4 ms, verwerkt 350+ RPS op 1 vCPU, schaalt moeiteloos horizontaal en is klaar voor productie, terwijl LiteLLM last heeft van hoge latentie, moeite heeft boven een gemiddeld aantal RPS, geen ingebouwde schaling heeft en het meest geschikt is voor lichte workloads of prototypes.



















.png)

.webp)



.webp)







.webp)





