Expériences avec BloomZ
Bloom a une mauvaise réputation: c'est un des premiers très grand modèles open-source et s'il a inspiré les premières "best practices" pour l'apprentissage de ces LLMs, il n'a pas pu bénéficier des dernières avanceés; ses performances laisseraient à désirer comparativement à ses concurrents directs (OPT, GPT3...), il aurait été entraîné sur des données issues de langues peu courantes qui auraient ajouté plus de bruit que d'information, il est lourd à manipuler, etc.
Toutefois, les expériences que j'ai pu réaliser en français avec BloomZ (la version instruction finetuned de Bloom) semblent plutôt indiquer qu'il possède une quantité de connaissance supérieure à celle des modèles en vogue plus petits (llama, vicuna...), et je reste convaincu qu'il est possible de l'améliorer grâce aux derniers progrès publiés sur ces autres modèles, à l'image de BloomChat.
Expérience 1: French Med-QA
Comme le montre la campagne d'évaluation DEFT'2023, BloomZ-176b donne de meilleures performances que Llama-63b en mode Zero-Shot sur les QCM de pharmacie, ce qui peut sans doute s'expliquer par le fait que BloomZ a été mieux entraîné en français que Llama, mais quand même, ce résultat va à l'encontre du discours commun sur les performances de Bloom. J'ai également observé que, ajouter des passages de Wikipedia pertinents (obtenus par semantic search sur la question via l'API de Cohere.AI) n'améliore pas les performances de BloomZ. Ceci peut avoir 2 causes: soit les informations de Wikipedia sont déjà présentes dans BloomZ - ce qui est très probable car BloomZ possède suffisamment de paramètres pour stocker ces informations -, soit BloomZ a des difficultés à utiliser le in-context few-shot learning, ce qui semble avoir également été observé auparavant. Dans cette campagne, il était par contre très clair que Bloom est incapable de répondre correctement à ces questions de type QCM, et que l'instruction-finetuning est indispensable pour cela.
Modèle (ZSL) | EMR (dev) |
---|---|
BloomZ-176b | 27.6 |
Llama-64b | 21.8 |
Expérience 2: 4bits & MMLU
La quantisation en 4 bits de bitsandbytes permet de réduire les problèmes de resources en GPU: il devient ainsi possible d'utiliser BloomZ sur "seulement" 2xA100 avec un petit prompt; mais avec de grands prompts (plus de 3000 mots), il faut alors 5xA100 lorsqu'on utilise la quantisation et transformers.accelerate sans précaution particulière. Il est sans doute possible de faire bien mieux mais je n'ai pas encore pris le temps d'explorer toutes les possibilités.
Sur MMLU-dev zero-shot, donc en anglais, les performances de BloomZ-176b-4bits sont très bonnes:
Modèle | Acc |
---|---|
BloomZ-176b-4bits | 53.4 |
Galactica 120b | 52.6 |
Galactica étant SOTA en mode zero-shot; il semblerait que les modèles plus récents n'aient pas été évalués sur MMLU en zero-shot (?). De plus, Galactica n'a pas été instruction-finetuned, alors que BloomZ si.
BLZ | GAL | |
---|---|---|
abstract_algebra | 0.36 | 0.27 |
anatomy | 0.43 | 0.58 |
astronomy | 0.44 | 0.25 |
business_ethics | 0.64 | 0.48 |
clinical_knowledge | 0.62 | 0.59 |
college_biology | 0.50 | |
college_chemistry | 0.50 | 0.37 |
college_computer_science | 0.64 | 0.55 |
college_mathematics | 0.27 | 0.18 |
college_medicine | 0.73 | |
college_physics | 0.36 | 0.45 |
computer_security | 0.36 | 0.67 |
conceptual_physics | 0.54 | 0.51 |
econometrics | 0.33 | 0.33 |
electrical_engineering | 0.50 | 0.56 |
elementary_mathematics | 0.37 | 0.58 |
formal_logic | 0.21 | 0.21 |
global_facts | 0.30 | 0.35 |
high_school_biology | 0.66 | |
high_school_chemistry | 0.27 | 0.36 |
high_school_computer_science | 0.78 | 0.44 |
high_school_european_history | 0.72 | 0.67 |
high_school_geography | 0.82 | 0.64 |
high_school_government_and_politics | 0.71 | 0.62 |
high_school_macroeconomics | 0.42 | 0.46 |
high_school_mathematics | 0.24 | 0.52 |
high_school_microeconomics | 0.54 | 0.56 |
high_school_physics | 0.24 | 0.29 |
high_school_psychology | 0.82 | 0.74 |
high_school_statistics | 0.48 | 0.56 |
high_school_us_history | 0.73 | 0.58 |
high_school_world_history | 0.58 | 0.72 |
human_aging | 0.61 | 0.59 |
human_sexuality | 0.58 | 0.59 |
international_law | 0.92 | 0.71 |
jurisprudence | 0.45 | 0.54 |
logical_fallacies | 0.67 | 0.59 |
machine_learning | 0.36 | 0.27 |
management | 0.64 | 0.63 |
marketing | 0.80 | 0.76 |
medical_genetics | 0.91 | |
miscellaneous | 0.72 | 0.64 |
moral_disputes | 0.58 | 0.57 |
moral_scenarios | 0.25 | 0.24 |
nutrition | 0.67 | 0.67 |
philosophy | 0.65 | 0.55 |
prehistory | 0.54 | 0.60 |
professional_accounting | 0.39 | 0.40 |
professional_law | 0.39 | 0.36 |
professional_medicine | 0.68 | 0.60 |
professional_psychology | 0.59 | 0.56 |
public_relations | 0.50 | 0.54 |
security_studies | 0.44 | 0.57 |
sociology | 0.82 | 0.73 |
us_foreign_policy | 0.82 | 0.75 |
virology | 0.50 | 0.48 |
world_religions | 0.63 | 0.65 |