De multă vreme transcrierile automate prin modele AI nu mai este SF, iar Groq ne arată și cum traducerea prin Whisper-large-v3 poate sa fie și ultra rapidă.
1. Introducere
Transcrierile automată din orice limbă a fost una din telemele cele mai des folosite în filmele sci-fi din secolul XX. Felul cum se făcea transcrierea nu era explicat, dar filmele sugerau că acest lucru este absolut natural în secolul XXI.
Și întradevat OpenAi a făcut posibil acest lucru prin modelul AI whisper pe care l-a făcut și disponibil în format open source pe platforma HuggingFace.
Whisper-large-V3 este un model de inteligență artificială (IA) care utilizează tehnologia de procesare a limbajului natural (NLP) pentru a realiza traduceri automate din voce în text. Acest model este dezvoltat de OpenAI și reprezintă o versiune îmbunătățită a modelului anterior, Whisper-large-V2.
Funcționarea Whisper-large-V3 se bazează pe următoarele etape:
- Preprocesarea audio: În primul rând, modelul prelucrează fișierele audio prin extragerea caracteristicilor audio, cum ar fi spectrul de frecvență și intensitatea sunetului. Aceste caracteristici sunt apoi transformate într-o reprezentare matricială, care poate fi folosită de modelul AI.
- Identificarea limbii: Whisper-large-V3 poate identifica limba vorbită în fișierul audio, ceea ce permite modelului să adapteze strategia de traducere în funcție de caracteristicile limbii respective.
- Transcrierea automată a discursului (ASR): Modelul utilizează o rețea neuronală profunda pentru a transcrie fișierul audio în text. Această etapă implică identificarea cuvintelor și frazelor din discurs și transcrierea lor într-o formă scrisă.
- Traducerea automată: Odată ce textul a fost transcris, modelul de traducere automată (MT) poate traduce textul într-o altă limbă. Whisper-large-V3 utilizează o arhitectură de traducere automată bazată pe un transformator, care este capabil să înțeleagă contextul și să genereze traduceri precise.
- Postprocesarea: În final, modelul efectuează o postprocesare a textului tradus pentru a îmbunătăți claritatea și corectitudinea traducerii.
Whisper-large-V3 și alte modele de traducere automată din voce în text prezintă mai multe avantaje, cum ar fi:
- Viteză: Aceste modele pot realiza traduceri rapide și eficiente, ceea ce le face utile în aplicații precum traducerea în timp real sau subtitrarea video.
- Precizie: Modelele de traducere automată pot atinge niveluri ridicate de precizie, ceea ce le face utile în aplicații care necesită traduceri precise, cum ar fi traducerea documentelor oficiale sau a comunicărilor diplomatice.
Cu toate acestea, Whisper-large-V3 și alte modele de traducere automată din voce în text prezintă și limitări, cum ar fi:
- Dependenta de calitatea audio: Precizia traducerii poate fi afectată de calitatea fișierului audio, cum ar fi zgomotul de fond sau calitatea slabă a înregistrării.
- Limitări lingvistice: Modelele de traducere automată pot prezenta limitări lingvistice, cum ar fi dificultăți în a înțelege anumite expresii idiomatice sau regiuni dialectale.
2. Utilizarea prin cod Python
Pentru a utiliza Whisper-large-v3 local se poate utiliza următorul cod:
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
model_id = "openai/whisper-large-v3"
model = AutoModelForSpeechSeq2Seq.from_pretrained(
model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)
processor = AutoProcessor.from_pretrained(model_id)
pipe = pipeline(
"automatic-speech-recognition",
model=model,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
torch_dtype=torch_dtype,
device=device,
)
dataset = load_dataset("distil-whisper/librispeech_long", "clean", split="validation")
sample = dataset[0]["audio"]
result = pipe(sample)
print(result["text"])
Totuși trebuie ținut cont că procesarea audio necesită resurse destul de puternice și deci o placă video modernă.
Modelul AI are o dimensiune de aproximativ 10 GB iar pentru a rula în condiții optime ar necesita minim 12 GB de VRAM.
3. Utilizarea transcrierilor automate prin Groq
Groq Cloud este o platformă de procesare care oferă posibilitatea de a executa algoritmi de inteligență artificială (AI) și învățare automată (Machine Learning) la o scală și performanță fără precedent. Această platformă utilizează arhitectura unică a procesorului Groq Tensor Streaming Processor (TSP), care este specializat în calculul tensorial, folosit în majoritatea algoritmilor AI.
Groq Cloud aduce o serie de avantaje importante:
- Performanță excepțională: Groq Cloud poate executa modele de AI cu până la 10 ori mai rapid decât alte soluții de cloud computing, datorită arhitecturii sale specializate.
- Scalabilitate: Platforma permite utilizatorilor să scală ușor capacitățile de calcul în funcție de nevoi, fără a fi nevoie de investiții suplimentare în hardware.
- Simplitate: Groq Cloud oferă o interfață intuitivă și ușor de utilizat, permițând dezvoltatorilor să se concentreze asupra creării modelelor AI, în locul managementului infrastructurii.
- Accesibilitate: Fiind o soluție bazată pe cloud, Groq Cloud poate fi accesată din oriunde, oricând, fără a fi nevoie de o investiție inițială mare.
- Securitate: Groq Cloud oferă o gamă largă de funcții de securitate, inclusiv criptarea datelor în repaus și în tranzit, autentificarea multi-factor și managementul acceselor.
- Cost-eficient: Deoarece platforma utilizează hardware specializat, oferă un cost total de proprietate (TCO) mai redus decât soluțiile tradiționale de cloud computing.
- Suport pentru standarde deschise: Groq Cloud suportă majoritatea framework-urilor populare de AI, cum ar fi TensorFlow, PyTorch și ONNX, permițând utilizatorilor să-și utilizeze deja existentele modele AI.
Unul din modelele AI oferite de Groq este whisper-large-v3 cu o singură limitare: procesarea în secvențe de maxim 20 MB de date.
Procesarea audio se poate face atât în consola online Groq, cât și în cod Python printr-un API.
Pentru a rula codul va trebui să instalăm mai întâi libraria:
pip install groq
Un exemplu de cod Python este următorul:
import os
from groq import Groq
client = Groq()
filename = os.path.dirname(__file__) + "/KlausIohannis.mp3"
with open(filename, "rb") as file:
transcription = client.audio.transcriptions.create(
file=(filename, file.read()),
model="whisper-large-v3",
prompt="Transcrie următorul text în limba română, indiferent de limba utilizată de vorbitori",
temperature=0.2,
language="ro",
response_format="verbose_json",
)
print(transcription.text)
Pentru testare am folosit un extras audio de 103 secunde a unei știri de la o televiziune din România. Extrasul audio conține vocea prezentatoarea, dar și vocea președintelui României din timpul declarației, precum și vocea unui oficial european.
Pentru a păstra o transcriere cât mai fidelă am setat temperatura modelului la 0.2
Transcrierea este aproape instantă:
Președintele Claus Iohannis a mai cerut și aderarea completă a României la spațiul Schengen în plenul Parlamentului European, unde a ținut un discurs despre viitorul Europei. În acest context, șeful statului a subliniat că este o distanță prea mare între cetățenii europeni și politicienii care îi reprezintă, dând exemplu protestelor fermierilor din întreaga Uniune Europeană. Deciziile referitoare la politică agricolă comună s-au luat în 2020, înainte de pandemie, notabene. Suntem în 2024. Oare de ce a fost nevoie să avem, după patru ani, proteste masive ale fermierilor în toată Uniunea Europeană? Declarația președintelui României a fost făcută la o zi după ce șefa Comisiei Europene, Ursula von der Leyen, a anunțat că va propune retragerea proiectului care limitează folosirea pesticidelor pe teritoriul Uniunii Europene. Șeful statului a cerut în plenul Parlamentului European ca România să intre de plin în Schengen. Consideră că ridicarea controlelor la frontierele aeriene și maritime în Martie ar trebui urmat în mod firesc de eliminarea verificărilor la granițele terestre. Doar în aceste condiții, susține președintele Iohannis, s-ar putea reflecta contribuția pe care țara noastră o are la securitatea Uniunii Europene. În ceea ce privește posibilitatea să ocupe o funcție la vârful Uniunii Europene, șeful statului a refuzat să facă speculații. A declarat însă că ar fi inadmisibil ca nici o poziție să nu fie ocupată de o persoană din Est După discursul în plen, șeful statului a avut o întâlnire cu europarlamentarii români
Modelul a selectat doar textul în limba română din fișierul audio pe care l-a transcris cu fidelitate.
După transcriere, textul poate fi tradus și în alte limbi folosind de exemplu o aplicație AI de tipul LibreTranslate.
4. Obținerea transcrierilor și a rezumatelor automate
Dacă textul pe care îl transcriem este mai lung poate că dorim de asemena și obținerea unui rezumat concis a informației.
Prin Groq putem face acest lucru, adăugând o prelucrare la codul existent. Vom folosi de exemplu modelul Mixtral-8x7b cu un context de 32k tokeni:
completion = client.chat.completions.create(
model="mixtral-8x7b-32768",
messages=[
{
"role": "user",
"content": "Fă un rezumat scurt în limba romană a textului următor: " + transcription.text
}
],
temperature=1,
max_tokens=19970,
top_p=1,
stream=True,
stop=None,
)
for chunk in completion:
print(chunk.choices[0].delta.content or "", end="")
Rezultatul este următorul:
Președintele Iohannis a pledat pentru aderarea completă a României la Spațiul Schengen și eliminarea verificărilor la granițele terestre, precum și împotriva unei posibile lipsuri de reprezentare a Estului la vârful UE, în discursul său la Parlamentul European, unde a subliniat distanța dintre politicienii europeni și cetățenii lor, exemplificând cu protestele fermierilor din UE, în contextul unei retrageri propuse de proiectul limitativ al utilizării pesticidelor pe teritoriul UE.
Rezumarea automată cu ajutorul modelelor generative AI prezintă o serie de avantaje semnificative în comparație cu rezumarea manuală.
Unul dintre cele mai importante avantaje este eficiența. Rezumarea automatică poate procesa rapid cantități mari de text și extrage informațiile importante într-un timp mult mai scurt decât o ființă umană.
Acest lucru face ca procesul de rezumare să fie mai rapid și mai economic. De asemenea, rezumarea automată este obiectivă și neutrală. Ea nu este afectată de subiectivitatea sau de prejudecățile unei persoane, ceea ce face ca rezultatele să fie mai credibile și mai precise.
Un alt avantaj este capacitatea de a procesa limbi diferite: aplicațiile pot lucra cu textul scris în mai multe limbi, ceea ce le face utile într-un mediu globalizat.
Odată cu dezvoltarea tehnologiei AI, aplicațiile de rezumare au devenit din ce în ce mai sofisticate și mai capabile de a înțelege contextul și semnificația textului.
Astfel, rezultatele rezumărilor automate sunt din ce în ce mai relevante și mai utile pentru utilizatori. În plus, rezumatoarele automate pot fi integrate ușor într-un sistem automatizat, ceea ce face posibilă utilizarea lor într-o varietate de aplicații, cum ar fi analiză big data, chatbot-uri și asistenți virtuali.
5. Concluzii
Pentru aplicațiile care necesită transcrieri voce-text și analiza textului putem folosi platforma Groq și whisper-large-v3 care reușesc să furnizeze răspunsuri exacte, fiabile și mai ales rapide.
Gama de aplicații este destul de largă:
- transcrierea ședințelor în cadrul întălnirilor managementului;
- sumarizarea deciziilor luate în sedințe;
- trasmiterea de comenzi vocale către dispozitive automate;
- procesarea materialelor audio pentru extragerea de informații;
- etc.
În concluzie, transcriea și rezumarea automată cu ajutorul modelelor generative AI este o tehnologie puternică care oferă o serie de avantaje semnificative în comparație cu metodele tradiționale, manuale.
Ea este eficientă, obiectivă, neutrală, capabilă de a procesa limbi diferite și integrabilă în sisteme automatizate – o soluție excelentă pentru procesarea și analiza rapida a cantităților mari de voce și text.