Ga naar de hoofdinhoud

Maak kennis met onze benchmarktool, gebouwd op dstack

Door: ElioVP
20 maart 2025
Alle
Maak kennis met onze benchmarktool, gebouwd op dstack

1. Introductie

Benchmarking is essentieel bij het optimaliseren van AI-modellen en softwaretoepassingen. Of u nu de inferentiesnelheid van modellen meet, hardwareconfiguraties profileert of systeemprestaties doorheen de tijd bewaakt, u hebt een betrouwbare benchmarktool nodig. Veel bestaande tools kampen echter met inconsistente omgevingen, omslachtige configuratie en een gebrek aan automatisering.

De benchmarkmogelijkheden van vLLM zijn uitstekend, maar veel gebruikers bouwen eigen wrappers om hun workflows te stroomlijnen. Wij wilden meer doen dan bestaande processen automatiseren en ontwikkelden daarom een uitgebreidere tool die het volledige benchmarkproces efficiënter maakt.

Om deze uitdagingen aan te pakken, hebben we een nieuwe benchmarkingtool gebouwd die naadloos integreert met dstack, waardoor geautomatiseerde, reproduceerbare en schaalbare benchmarkingworkflows mogelijk zijn.

2. Wat is dstack?

dstack is een open-sourceplatform voor het efficiënt beheren van ML- en AI-workflows. Het vereenvoudigt infrastructuurbeheer, automatiseert uitvoering en waarborgt reproduceerbaarheid. Precies die drie eigenschappen maken het bijzonder geschikt om benchmarks te orkestreren.

Belangrijkste kenmerken van dstack die we gebruiken:

  • Reproduceerbare omgevingen: uitvoering in containers zorgt voor consistentie tussen verschillende runs.
  • Taakorkestratie en -beheer: definieer benchmarktaken, automatiseer de uitvoering en beheer resultaten op één plek.
  • Ondersteuning voor meerdere clouds en hardwareplatformen: vergelijk GPU's eenvoudig, zowel lokaal als in de cloud.

3. Waarom we deze benchmarkingtool hebben ontwikkeld

Veel voorkomende uitdagingen bij benchmarking:

  • Omslachtige omgevingsconfiguratie: kleine systeemverschillen kunnen resultaten beïnvloeden en zo inconsistente benchmarks opleveren.
  • Handmatige uitvoering en gebrek aan automatisering: het handmatig opnieuw uitvoeren van benchmarks is tijdrovend en foutgevoelig.
  • Onvermogen om de prestaties in de loop van de tijd bij te houden: zonder versiebeheer is het moeilijk om regressies of verbeteringen effectief te detecteren.
  • Resourceconflicten: wanneer meerdere ontwikkelaars gedeelde GPU's gebruiken, kunnen workloads elkaar in de weg zitten.

Hoe onze tool deze uitdagingen oplost:

  • Geautomatiseerde benchmarkingruns: geen handmatige installatie vereist; alles wordt georkestreerd met dstack.
  • Reproduceerbare en geïsoleerde uitvoering: elke run vindt plaats in een gecontroleerde omgeving, waardoor consistentie wordt gegarandeerd.
  • Resultaten onder versiebeheer: logs en rapporten worden bewaard, zodat verschillende runs eenvoudig te vergelijken zijn.

4. Belangrijkste kenmerken van onze benchmarkingtool

1. Eenvoudige webinterface

Benchmarks uitvoeren moet eenvoudig zijn. Onze tool biedt een overzichtelijke webinterface waarmee gebruikers in enkele klikken aan de slag kunnen.

2. Reproduceerbare en geïsoleerde omgevingen

Onze tool gebruikt dstack om containeromgevingen te starten. Zo vermijden we problemen door verschillende dependencyversies of systeemconfiguraties.

3. vLLM-gebaseerde benchmarking

Momenteel gebruikt onze tool uitsluitend vLLM, vanwege de populariteit, de beschikbare benchmarkscripts en de grote community.

4. Geautomatiseerd parameteronderzoek

De tool maakt het eenvoudig om verschillende batchgroottes, learning rates en GPU-configuraties te testen. Gebruikers kunnen voltooide benchmarks opnieuw gebruiken en hoeven dezelfde parameters dus niet telkens opnieuw in te voeren.

5. Schaalbare uitvoering

Onze tool past zich aan uw hardware aan (dankzij dstack), of u nu benchmarks uitvoert op een lokale machine, cloudinstantie of multi-GPU-cluster.

6. Automatisch gegenereerde prestatierapporten

Na uitvoering worden prestatiegegevens vastgelegd en kunnen deze worden geëxporteerd:

Bovendien genereert de tool automatisch een Markdown-tabel:

5. Hoe het werkt

Stap 1: Configureer uw benchmark

Standaard vult de tool de velden in voor een gewone vLLM-benchmark. Via de interface kunt u parameters, modellen en argumenten naar wens aanpassen.

U kunt verschillende omgevingsvariabelen in de argumenten gebruiken. Met .. en | kunt u bovendien meerdere runs inplannen.

Stap 2: voer de benchmark uit

Zodra de instellingen zijn ingevuld, plant u de benchmark. De knop toont, op basis van de configuratie, hoeveel benchmarks er zullen draaien.

Vult u bij num prompts bijvoorbeeld 10|20|30 in, dan plant de tool drie benchmarks.

Wilt u daarnaast voor --num-scheduler-steps de waarden 10|20|30 testen, dan ontstaan negen benchmarks: één voor elke mogelijke combinatie.

Stap 3: Resultaten bekijken

Wanneer alle benchmarks voltooid zijn, kunt u op een rij klikken om grafieken van het GPU- en energieverbruik te bekijken. Door een rij te selecteren, vergelijkt u ook verschillende parameters met andere runs.

Om resultaten te exporteren, vinkt u de gewenste benchmarks aan en klikt u op exporteren. Een nieuw venster opent met een grafiek en resultatentabel die u rechtstreeks in een Markdown-document kunt plakken.

Video: rondleiding door de benchmarktool met Rob H.

Eliovp Benchmarktool

6. Vergelijking van onze benchmarktool

FunctieBestaande toolsOnze benchmarktool
Geautomatiseerde uitvoeringHandmatige installatieVolledig geautomatiseerd
ReproduceerbaarheidAfhankelijk van de omgevingContaineromgevingen
Cloud-ondersteuningBeperktWerkt lokaal en in de cloud
CI/CD-integratieHandmatig testenNaadloze integratie
vLLM-gebaseerde benchmarkingNiet altijd ondersteundVolledig geïntegreerd met vLLM

7. Gebruiksscenario's uit de praktijk

AI-modelbenchmarking

  • Vergelijk de inferentiesnelheden van modellen met behulp van vLLM voor verschillende hardwareconfiguraties.

Softwareprestatietesten

  • Meet de systeemprestaties voor hardwareconfiguraties en verschillende optimalisatie-instellingen.

Continuous Integration (CI)-benchmarking

  • Integreer de tool in CI/CD-pipelines zodat een build faalt wanneer de prestaties achteruitgaan.

8. Conclusie

Benchmarking hoeft niet complex te zijn. Onze nieuwe tool, gebouwd op dstack, maakt het proces geautomatiseerd, reproduceerbaar en schaalbaar. Dankzij vLLM blijven de benchmarks consistent en betrouwbaar over uiteenlopende hardwareconfiguraties.

Ja, dit artikel is ook een beetje opscheppen over onze benchmarktool. We overwegen ze als open source uit te brengen, dus laat het ons weten als u interesse hebt.