Tutvustame pplx-api-d

Perplexity Labsi kiire ja tõhus API avatud lähtekoodiga LLM-idele

Introducing pplx-api by Perplexity Labs

Pane tähele: Allolevad mudelid on praeguste mudelite jaoks kasutuselt kõrvaldatud. Lisateave meie API-de kohta

Meil on hea meel teatada pplx-api väljalaskmisest, mis on loodud üheks kiireimaks viisiks mudelite Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B, replit-code-v1.5-3b kasutamiseks. pplx-api teeb arendajatel tipptasemel avatud lähtekoodiga suurte keelemudelite integreerimise oma projektidesse lihtsaks.

Meie pplx-api pakub järgmist:

Kasutuslihtsus: arendajad saavad tipptasemel avatud lähtekoodiga mudeleid kohe karbist välja kasutada ja tuttava REST API abil mõne minutiga alustada.

Põrgulikult kiire järeldus: meie hoolikalt kavandatud järeldussüsteem on tõhus ja saavutab kuni 2,9 korda väiksema latentsuse kui Replicate ning 3,1 korda väiksema latentsuse kui Anyscale.

Lahingus testitud taristu: pplx-api on tõestatult usaldusväärne ja teenindab tootmistasemel liiklust nii meie Perplexity vastusemootoris kui ka meie Labs liivakastis.

Ühest kohast leitavad avatud lähtekoodiga suured keelemudelid: meie meeskond on pühendunud uute avatud lähtekoodiga mudelite lisamisele nende ilmumisel. Näiteks lisasime Llama ja Mistrali mudelid mõne tunni jooksul pärast turuletulekut ilma eelneva juurdepääsuta.

pplx-api on avalikus beetaversioonis ja Perplexity Pro tellimusega kasutajatele tasuta.

Kasutage pplx-api-d juhuslikul nädalavahetuse häkatonil või ärilise lahendusena uute ja uuenduslike toodete ehitamiseks. Loodame selle väljalase kaudu saada teada, kuidas inimesed saavad meie API-ga luua lahedaid ja uuenduslikke tooteid. Kui teil on pplx-api jaoks ärijuhtum, võtke ühendust aadressil api@perplexity.ai. Oleme huvitatud teie tagasisidest!

pplx-api eelised

Kasutuslihtsus

Suurte keelemudelite juurutamine ja järeldus nõuavad märkimisväärset taristutööd, et muuta mudelite teenindus tõhusaks ja kuluefektiivseks. Arendajad saavad meie API-t kasutada kasutusvalmilt, ilma põhjalike teadmisteta keeles C++/CUDA või juurdepääsuta GPU-dele, nautides samal ajal tipptasemel jõudlust. Meie keelemudeli järeldus muudab ka teie oma riistvara haldamise keerukuse ja vajaduse abstraktseks, aidates veelgi kaasa kasutuslihtsusele.


Põrgulikult kiire järeldus

Perplexity keelemudeli API on hoolikalt kavandatud ja optimeeritud kiireks järelduseks. Selle saavutamiseks ehitasime NVIDIA TensorRT-LLM ümber patenteeritud keelemudeli järeldustaristu, mida käitatakse AWS-i pakutavatel A100 GPU-del. Lisateavet leiate jaotisest Ülevaade pplx-api taristust. Seetõttu on pplx-api üks kiiremaid kaubanduslikult saadaolevaid Llama ja Mistrali API-sid.

Olemasolevate lahendustega võrdlemiseks võrdlesime pplx-api latentsust teiste keelemudelite järeldusteekidega. Meie katsetes saavutab pplx-api kuni 2,92 korda kiirema üldise latentsuse võrreldes Text Generation Inference'iga (TGI) ja kuni 4,35 korda kiirema esialgse vastuse latentsuse. Selle katse jaoks võrdlesime TGI-d ja Perplexity järeldust ühest voost ja serveri stsenaariumide jaoks 2 A100 GPU-l, kasutades Llama-2-13B-chat mudelit, mis on jagatud mõlema GPU vahel. Ühe voo stsenaariumi korral töötleb server üksteise järel päringuid. Serveri stsenaariumis saadab klient päringuid Poissoni jaotuse järgi erinevate päringumääradega, et emuleerida muutuvat koormust. Päringumäära jaoks teostame väikese läbivaatuse kuni maksimaalselt 1 päring sekundis, mis on TGI maksimaalne säilitatav läbilaskevõime. Kasutasime reaalsetes tingimustes andmeid erineva sisend- ja väljundmärgipikkusega, et simuleerida tootmiskäitumist. Päringud on keskmiselt ~700 sisendmärki ja ~550 väljundmärki.

Kasutades samu sisendeid ja saates ühe päringuvoo, mõõtsime ka Replicate'i ja Anyscale'i API-de keskmisi latentsusi sama mudeli jaoks, et koguda jõudluse võrdlusalus teiste olemasolevate API-dega.

Perplexity Labs – esimese märgi latentsus
Perplexity Labs – dekodeerimiskiirus

Kasutades sama eksperimentaalset seadistust, võrdlesime pplx-api maksimaalset läbilaskevõimet TGI-ga, kus latentsuspiiranguks oli dekodeerimiskiirus. Meie katsetes töötleb pplx-api märke 1,90–6,75 korda kiiremini kui TGI ning TGI ei suuda üldse täita meie rangemaid latentsuspiiranguid kiirusel 60 ja 80 märki sekundis. Hindame TGI-d samades riistvara- ja koormustingimustes, mida kasutasime pplx-api hindamiseks. Selle mõõdiku võrdlemine Replicate'i ja Anyscale'iga ei ole võimalik, kuna me ei saa juhtida nende riistvara- ja koormustegureid.

Võrdluseks, inimese keskmine lugemiskiirus on 5 märki sekundis, mis tähendab, et pplx-api suudab teenindada kiirusega, mis ületab lugemiskiiruse.

Perplexity Labs – märkide läbilaskevõime GPU kohta

Ülevaade pplx-api taristust

Nende latentsusarvude saavutamine nõuab tipptasemel tarkvara ja riistvara kombinatsiooni.

NVIDIA A100 GPU-del põhinevad AWS-i p4d-eksemplarid loovad aluse kulutõhusaimaks ja usaldusväärseimaks võimaluseks GPU-de skaleerimiseks omaklassi parimate taktsagedustega.

Selle riistvara ärakasutamiseks käitame tarkvarana NVIDIA TensorRT-LLM-i, avatud lähtekoodiga teeki, mis kiirendab ja optimeerib suurte keelemudelite järeldust. TensorRT-LLM pakendab TensorRT süvaõppe kompilaatori ja sisaldab viimaseid optimeeritud tuumasid, mis on loodud FlashAttentioni ja maskeeritud mitme peaga tähelepanu (MHA) tipptasemel rakenduste jaoks keelemudeli täitmise konteksti- ja genereerimisfaasides.

Sealt edasi annavad AWS-i selgroog ja selle tugev integreerimine Kubernetesega meile võimaluse skaleerida elastselt üle sadade GPU-de ning minimeerida seisakuaega ja võrgukoormust.

Kasutusjuht: meie API tootmises

pplx-api Perplexity's: kulude kokkuhoid ja usaldusväärsus

Meie API toidab juba praegu ühte Perplexity põhitoodete funktsiooni. Üheainsa funktsiooni üleviimine väliselt API-lt pplx-api-le tõi kaasa kulude kokkuhoiu 0,62 miljonit dollarit aastas, mis tähendab ligikaudu 4-kordset kulude vähenemist. Tegime A/B-teste ja jälgisime taristumõõdikuid, et tagada kvaliteedi halvenemise puudumine. Kahe nädala jooksul ei täheldanud me A/B-testis statistiliselt olulist erinevust. Lisaks suutis pplx-api taluda igapäevast koormust, mis ületas ühe miljoni päringu, ulatudes peaaegu ühe miljardi töödeldud märgini päevas.

Selle esialgse uurimistöö tulemused on väga julgustavad ja eeldame, et pplx-api toidab aja jooksul üha rohkem meie tooteesitluse funktsioone.

pplx-api Perplexity Labsis: avatud lähtekoodiga järelduste ökosüsteem

Kasutame pplx-api-d ka Perplexity Labsi toiteks, mis on meie erinevaid avatud lähtekoodiga mudeleid teenindav mudelite liivakast.

Keskmine teenindatud märkide arv päevas

Meie meeskond on pühendunud juurdepääsu tagamisele uusimatele tipptasemel avatud lähtekoodiga suurtele keelemudelitele. Integreerisime mudelid Mistral 7B, Code Llama 34b ja kõik Llama 2 mudelid mõne tunni jooksul pärast nende väljalaskmist ning plaanime seda teha ka võimekamate avatud lähtekoodiga suurte keelemudelite kättesaadavaks muutumisel.

Alustage Perplexity tehisintellekti API-ga

Pplx-api REST API-le pääsete juurde HTTPS-päringute abil. Pplx-api-s autentimine hõlmab järgmisi samme:

Genereerige API-võti Perplexity konto sätete lehe kaudu. API-võti on pikaealine juurdepääsumärk, mida saab kasutada seni, kuni seda käsitsi ei värskendata ega kustutata.

Saatke API-võti kandemärgina Authorization-päises koos iga pplx-api päringuga.

Järgmises näites on PERPLEXITY_API_KEY keskkonnamuutuja, mis on seotud ülaltoodud juhiste järgi loodud võtmega. Vestluse lõpetamise päringu esitamiseks kasutatakse CURL-i.

bash
curl -X POST \ --url https://perplexity.coolkeypoint.com/__p/api.perplexity.ai/chat/completions \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header "Authorization: Bearer ${PERPLEXITY_API_KEY}" \ --data '{ "model": "mistral-7b-instruct", "stream": false, "max_tokens": 1024, "frequency_penalty": 1, "temperature": 0.0, "messages": [ { "role": "system", "content": "Be precise and concise in your responses." }, { "role": "user", "content": "How many stars are there in our galaxy?" } ] }'

Mis annab tulemuseks järgmise vastuse, millel on content-type: application/json

json
{ "id": "3fbf9a47-ac23-446d-8c6b-d911e190a898", "model": "mistral-7b-instruct", "object": "chat.completion", "created": 1765322, "choices": [ { "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." }, "delta": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." } } ], "usage": { "prompt_tokens": 40, "completion_tokens": 22, "total_tokens": 62 } }

Siin on näide Pythoni väljakutsest:

python
from openai import OpenAI YOUR_API_KEY = "INSERT API KEY HERE" messages = [ { "role": "system", "content": ( "You are an artificial intelligence assistant and you need to " "engage in a helpful, detailed, polite conversation with a user." ), }, { "role": "user", "content": ( "Count to 100, with a comma between each number and no newlines. " "E.g., 1, 2, 3, ..." ), }, ] client = OpenAI(api_key=YOUR_API_KEY, base_url="https://perplexity.coolkeypoint.com/__p/api.perplexity.ai") # demo chat completion without streaming response = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, ) print(response) # demo chat completion with streaming response_stream = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, stream=True, ) for response in response_stream: print(response)

Praegu toetame mudeleid Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B ja API ühildub mugavalt OpenAI kliendiga, et integreerimine olemasolevate rakendustega oleks lihtne.

Lisateabe saamiseks külastage meie API dokumentatsiooni ja kiirjuhendit.

Mis saab edasi

Lähitulevikus toetab pplx-api järgmist:

Kohandatud Perplexity suured keelemudelid ja muud avatud lähtekoodiga suurte keelemudelite lahendused.

Kohandatud Perplexity manused ja avatud lähtekoodiga manused.

Spetsiaalne API hinnaโครงhinnastruktuur üldise juurdepääsuga pärast avaliku beetaversiooni lõppemist.

Perplexity RAG-LLM API faktide ja viidete alusega.

Kui olete huvitatud mõnest neist kasutusjuhtudest, võtke ühendust aadressil api@perplexity.ai.

See on ka meie Perplexity blogipostituste sarja algus. Järgmises postituses jagame põhjalikku ülevaadet A100 ja H100 jõudluse võrdlusest keelemudelite järelduste tegemisel. Püsige lainel!

Me värbame! Kui soovite töötada suuremahulise tootega ja ehitada koos meiega läbimõeldult kavandatud, hoolikalt optimeeritud generatiivset ja suure keelemudeli taristut, siis liituge meiega.

Jälgige meid Twitteris, LinkedInis ja liituge aruteludeks meie Discordiga.

Autorid:

Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats

Andmete privaatsus

Valides pplx-api, saate rakendada suurte keelemudelite täielikku potentsiaali, kaitstes samal ajal oma kasutajate ja klientide privaatsust ja usaldust. Mõistame isikuandmete kaitsmise tähtsust ning oleme pühendunud oma kasutajate turvalisuse ja privaatsuse tagamisele. API andmed kustutatakse automaatselt 30 päeva pärast ja me ei kasuta kunagi pplx-api kaudu edastatud andmeid treenimiseks. Kasutajatel on oma konto sätetes võimalus andmete säilitamisest keelduda. Meie API privaatsuspoliitika leiate siit.