In de afgelopen maanden zijn grote taalmodellen het onderwerp geweest van uitgebreid onderzoek en ontwikkeling, waarbij state-of-the-art modellen zoals GPT-4, Meta LLaMa en Alpaca de grenzen hebben verlegd van natuurlijke taalverwerking en de hardware die nodig is om ze uit te voeren . Het uitvoeren van gevolgtrekkingen op deze modellen kan een rekenkundige uitdaging zijn en vereist krachtige hardware om real-time resultaten te leveren.
In de afgelopen maanden zijn grote taalmodellen het onderwerp geweest van uitgebreid onderzoek en ontwikkeling, waarbij state-of-the-art modellen zoals GPT-4, Meta LLaMa en Alpaca de grenzen hebben verlegd van natuurlijke taalverwerking en de hardware die nodig is om ze uit te voeren . Het uitvoeren van gevolgtrekkingen op deze modellen kan een rekenkundige uitdaging zijn en vereist krachtige hardware om real-time resultaten te leveren.
In het Storage Review-lab hebben we twee NVIDIA RTX 8000 GPU's ingezet om Meta's LLaMa-model uit te voeren om te zien hoe ze presteerden bij het uitvoeren van inferentie op grote taalmodellen. Wij gebruikten de Lenovo P920 als gastheer voor de kaarten, waardoor knelpunten worden geminimaliseerd. De RTX 8000 is een high-end grafische kaart die kan worden gebruikt in AI- en deep learning-toepassingen, en we hebben deze specifiek uit de stapel gekozen dankzij het 48 GB GDDR6-geheugen en 4608 CUDA-cores op elke kaart, en ook Kevin hamstert alle A6000'S.
Meta LLaMA is een grootschalig taalmodel dat is getraind op een diverse set internettekst. Het is openbaar beschikbaar en biedt state-of-the-art resultaten in verschillende natuurlijke taalverwerkingstaken. In dit artikel geven we een stapsgewijze handleiding over hoe we LLaMA-inferentie op NVIDIA GPU's hebben ingesteld en uitgevoerd. Het is niet gegarandeerd dat dit voor iedereen werkt.
Meta LLaMa-vereisten
Voordat we beginnen, moeten we ervoor zorgen dat we de volgende vereisten hebben geïnstalleerd:
- NVIDIA GPU('s) met minimaal 16 GB VRAM
- NVIDIA-stuurprogramma's geïnstalleerd (minstens versie 440.33)
- CUDA Toolkit geïnstalleerd (minstens versie 10.1)
- Anaconda geïnstalleerd
- PyTorch geïnstalleerd (minstens versie 1.7.1)
- Schijfruimte; de hele set LLaMa-controlepunten duwt meer dan 200 TB.
Opmerking: het wordt aanbevolen om een speciale Anaconda-omgeving voor LLaMA te hebben, we hebben er een paar op de testbank, zodat we kunnen knoeien met pakketten en parameters en niet de basisinstallatie hoeven af te bouwen.

Zet een of twee speciale omgevingen op in Anaconda
Stappen om Meta LLaMA Inference uit te voeren op NVIDIA GPU's
- Download de LLaMA-repository: De eerste stap is het klonen van de LLaMA-repository vanuit GitHub.
git clone https://github.com/EleutherAI/LLaMA.git
- Download het LLaMA-controlepunt en de tokenizer: Ga naar de GitHub-pagina en vul het gekoppelde Google-formulier in om toegang te krijgen tot de download. Andere LLM's zijn beschikbaar, zoals Alpaca. Voor dit doel gaan we ervan uit dat er toegang is tot de LLaMa-bestanden.
- Maak een lijst van en installeer de programma's die nodig zijn voor LLaMa door de volgende opdracht uit te voeren vanuit de gekloonde repository-directory:
pip install -r requirements.txt
pip install -e .
- Inferentiescript instellen: De
example.py
script in de LLaMA-repository kan worden gebruikt om LLaMA-inferentie uit te voeren. Het script kan worden uitgevoerd op een single- of multi-gpu node mettorchrun
en zal voltooiingen uitvoeren voor twee vooraf gedefinieerde prompts.
Openen example.py
en stel de volgende parameters in op basis van uw voorkeur. Hieronder vindt u beschrijvingen van elke parameter en wat ze doen.
--max_seq_len
: maximale reekslengte (standaard is 2048)--max_batch_size
: maximale batchgrootte (standaard is 8)--gen_length
: generatielengte (standaard is 512)--temperature
: opwekkingstemperatuur (standaard is 1.0)--top_p
: top-p sampling (standaard is 0.9)
Bijvoorbeeld om LLaMA-inferentie uit te voeren op een enkele GPU met checkpoint- en tokenizerbestanden in de directory /path/to/files
, gebruik de volgende opdracht:
torchrun --nproc_per_node 1 example.py --ckpt_dir /path/to/files --tokenizer_path /path/to/files/tokenizer.model
Opmerking: De nproc_per_node
argument hangt af van de grootte van het model en het aantal GPU's dat nodig is voor de standaard LLaMa-controlepunten. Raadpleeg de volgende tabel om de juiste waarde in te stellen voor uw systeem en model dat u gebruikt:
Model | GPU's vereist |
---|---|
7B | 1 |
13B | 2 |
33B | 4 |
65B | 8 |
In het onderstaande voorbeeld hebben we de standaardprompts in het voorbeeldbestand gebruikt, maar gespeeld met de temperature
en top_p
variabelen, wat een aantal interessante resultaten opleverde. We hebben ook de responsduur vergroot.

Wees voorzichtig met spelen met de thermostaat!
Uitsplitsing van het example.py-bestand en variabelen die u moet kennen
De meeste hiervan zijn vooraf ingesteld in het model en hoeven niet te worden aangepast; als u echter begint met het gebruik van LLM's en gevolgtrekkingen, vindt u hier wat handige informatie die uitsplitst wat de vlaggen en schakelaars doen.
local_rank
: De rang van de huidige GPU (proces) in de groep GPU's die wordt gebruikt voor modelparallelisme. Dit wordt automatisch ingesteld.world_size
: Het totale aantal GPU's dat wordt gebruikt voor modelparallelisme. Dit wordt automatisch ingesteld.ckpt_dir
: De map met de modelcontrolepunten. Dit wordt tijdens runtime ingesteld.tokenizer_path
: Het pad naar de tokenizer die wordt gebruikt om de tekst voor te verwerken. Dit wordt tijdens runtime ingesteld.temperature
: Een parameter die de willekeur van de gegenereerde tekst regelt (hogere waarden maken de uitvoer meer willekeurig en lagere waarden maken het meer gericht).top_p
: Een parameter die de nucleus-samplingstrategie bestuurt, een methode voor het genereren van tekst die alleen de meest waarschijnlijke tokens selecteert met een cumulatieve waarschijnlijkheid van maximaaltop_p
.max_seq_len
: De maximale reekslengte voor de invoer en uitvoer van het model. U kunt dit aanpassen om uw VRAM-behoefte te verminderen.max_batch_size
: Het maximale aantal invoerreeksen dat het model parallel kan verwerken. U kunt dit aanpassen om uw VRAM-behoefte te verminderen.prompts
: een lijst met invoerprompts voor het model om tekst op basis van te genereren.results
: Een lijst met gegenereerde tekst die overeenkomt met elke invoerprompt.
Conclusie
Onze tests toonden aan dat de RTX 8000 GPU's indrukwekkende prestaties konden leveren, met inferentietijden variërend van enkele seconden tot ongeveer een minuut, afhankelijk van de modelparameters en invoergrootte. De GPU's konden grote batches aan en konden inferentie op meerdere modellen tegelijk uitvoeren zonder merkbare vertraging.
Een van de voordelen van het gebruik van GPU's voor inferentie is dat ze eenvoudig kunnen worden opgeschaald door meer GPU's aan het systeem toe te voegen. Hierdoor kunnen nog grotere modellen in realtime worden uitgevoerd, waardoor nieuwe toepassingen mogelijk worden op gebieden als chatbots, vraag-antwoordsystemen en sentimentanalyse.
Alpaca is een compact AI-taalmodel gemaakt door een team van computerwetenschappers aan de Stanford University. Het is gebouwd op Meta's LLaMA 7B-model, dat beschikt over 7 miljard parameters en is getraind met behulp van een enorme hoeveelheid tekst van internet. Om Alpaca te verfijnen, werden 52,000 instructie-volgende demonstraties gegenereerd met OpenAI's text-davinci-003-model, een veelzijdig model dat in staat is om verschillende taken uit te voeren op basis van instructies in natuurlijke taal. Alpaca is beter in het opvolgen van instructies en het produceren van tekst voor verschillende doeleinden, waaronder het schrijven van samenvattingen, verhalen en grappen. Met een trainingskost van minder dan $ 600, is Alpaca ontworpen om zowel kosteneffectief als gemakkelijk repliceerbaar te zijn. Het is zeer indrukwekkend dat het vermeldenswaard is dat Alpaca zelfs op een laptop kan worden uitgevoerd. We trainen een model vergelijkbaar met Alpaca met behulp van de methoden die Stanford deed, maar met onze eigen draai.
Dit is slechts één manier waarop we werken met de nieuwste technologische ontwikkelingen in het lab, en dankzij enkele krachtige NVIDIA GPU's kunnen we zelfs meer doen dan alleen conclusies trekken; wij zijn aan het trainen. Kijk uit naar het volgende artikel binnenkort over het verfijnen van modellen zoals Meta LLaMa.
Neem contact op met StorageReview
Nieuwsbrief | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS Feed