Una din cele mai utilizate funcționalitâți a modelelor generative AI este analiza documentelor și identificarea rapidă a datelor relevante.
De multe ori dispunem de documente lungi de sute de pagini, în care căutările dupe cuvinte cheie fixe nu returnează toate rezultatele posibile.
Cerebras a lansat un nou model AI – Llama3-DocChat-1.0-8B, bazat pe tehnologia LLAMA3 care este dedicat conversațiilor generative pe baza documentelor utilizatorilor.
LLAMA3-DocChat-1.0-8B care este antrenat pe un set de 8 miliarde de parametri vine și cu o variantă care doar extrage datele dintr-un document denumită Dragon-DocChat.
Modelul AI respectă instrucțiunile specifice LLAMA3 de adăugare a documentului:
<context> {put your document here} </context>
sau de obținere a rezultatelor dorite:
Please give a full and complete answer for the question.
Testare extragere informații cu Llama3-DocChat-1.0-8B
Pentru a face testul mai interesant am rulat codul pe un Raspberry Pi5 – un dispozitiv performant, dar cu capacități de prelucrare limitate doar la procesor fără nici un fel de accelerator grafic.
Am utilizat codul propus de Cerebras:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "cerebras/Llama3-DocChat-1.0-8B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16, device_map="auto")
system = "This is a chat between a user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions based on the context. The assistant should also indicate when the answer cannot be found in the context."
instruction = "Please give a full and complete answer for the question."
document = """
# Cerebras Wafer-Scale Cluster
Exa-scale performance, single device simplicity
## AI Supercomputers
Condor Galaxy (CG), the supercomputer built by G42 and Cerebras, is the simplest and fastest way to build AI models in the cloud. With over 16 ExaFLOPs of AI compute, Condor Galaxy trains the most demanding models in hours rather than days. The terabyte scale MemoryX system natively accommodates 100 billion+ parameter models, making large scale training simple and efficient.
| Cluster | ExaFLOPs | Systems | Memory |
| -------- | -------- | -------- | ------ |
| CG1 | 4 | 64 CS-2s | 82 TB |
| CG2 | 4 | 64 CS-2s | 82 TB |
| CG3 | 8 | 64 CS-3s | 108 TB |
"""
question = "How many total CS systems does Condor Galaxy 1, 2, and 3 have combined, and how many flops does this correspond to?"
user_turn = f"""<context>
{document}
</context>
{instruction} {question}"""
messages = [
{"role": "system", "content": system},
{"role": "user", "content": user_turn}
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=256,
eos_token_id=terminators,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
Modelul LLAMA3-DocChat-1.0-8B are o mărime de 9.5 GB.
Răspunsul modelului este:
Condor Galaxy 1, 2, and 3 have a total of 192 CS systems, which corresponds to 16 ExaFLOPs.
Pentru al doilea test i-am dat un text simplu în limba română:
Conform studiului comandat de Comisia Europeană, tranzacţiile imobiliare implică
mai multe tipuri de servicii conexe, care variază destul de puţin pe teritoriul Uniunii
Europene în funcţie de legislaţia din fiecare stat membru. Pentru a fi determinate
costurile asociate unei tranzacţii, autorii studiului au descris mai întâi paşii care sunt
urmaţi pentru finalizarea unei astfel de tranzacţii, după cum urmează:
(1) întâlnirea cererii cu oferta – are loc, de obicei, prin intermediul unei agenţii
imobiliare;
(2) evaluarea terenului şi/sau a construcţiei – implică o verificare din punct de
vedere energetic (obligatorie conform Directivei UE privind performanţa energetică a
clădirilor, 2002/91/EC) şi o evaluare generală pentru vânzător sau cumpărător care în
unele ţări este realizată şi pentru băncile care acordă credite ipotecare.
(3) întocmirea unui antecontract – poate fi realizată cu sau fără asistenţă.
(4) verificările legale preliminare – implică un control al situaţiei imobilului în
registrele imobiliare, conform legislaţiei naţionale, pentru a se determina daca exista
ipoteci sau litigii în legătură cu respectivul imobil. Pentru România, această secţiune se
referă la efectuarea serviciilor cadastrale şi a intabulării imobilului.
(5) întocmirea contractului de vânzare-cumpărare – se realizează pe baza
asistenţei juridice şi, în majoritatea ţărilor UE, trebuie să aibă forma unui „act autentic”36
.
În unele state membre este necesară participarea unui martor şi/sau sigilarea
documentelor cu certificarea autenticităţii semnăturilor părţilor de către persoana
desemnată legal printr-o procedură specială.
(6) executarea contractului – include solicitarea avizelor/autorizaţiilor
administrative necesare pentru finalizarea tranzacţiei, transferul şi controlul plăţii
(aceasta se poate realiza printr-un cont de tip escrow37).
(7) îndeplinirea obligaţiilor fiscale – calcularea şi achitarea obligaţiilor fiscale
rezultate în urma tranzacţiei.
și am pus o întrebare banală care vizează capacitatea modelului de a înțelege textul:
Câți pași sunt necesari?
Răspunsul a venit repede, formulat în limba română:
Există șapte pași necesari pentru finalizarea unei tranzacții imobiliare.
Concluzie
LLAMA3-DocChat-1.0-8B este un model versatil care nu necesită resurse deosebite și poate fi instalat local pe dispozitive nu foarte pretențioase.
Modelul poate fi folosit împreună cu o interfață grafică dedicată (de exemplu cu Stremlit) care face conversația cu utilizatorul mult mai fluidă.
Modelul are o dimensiune destul de mare de aproximativ 42 GB, dar acest inconvenient este compesat de capacitatea lui extraordinară de a înțelege și analiza textele furnizate de utilizatori.
LLAMA3-DocChat-1.0-8B este extrem de util în cadrul activătății organizațiilor care procesează cantități mari de documente de orice tip: documente Word, Excel, PDF etc.