import streamlit as st st.set_page_config(layout="wide") from streamlit_extras.switch_page_button import switch_page st.markdown( """ ## Ressources 📚 """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown("""Quelques liens que j'apprécie sur l'évaluation et le NLP.""") st.markdown(""" """) st.markdown( """### Évaluation #### Théorie """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" ##### Généralités - [*Foundational Model Development Cheatsheet*](https://fmcheatsheet.org/) d'AllenAI. """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" ##### Évaluation automatique - Deux aperçus intéressants sur les défis de l'évaluation automatique ! - [*Challenges in LM evaluation*](https://github.com/lm-evaluation-challenges/lm-evaluation-challenges.github.io/blob/main/%5BMain%5D%20ICML%20Tutorial%202024%20-%20Challenges%20in%20LM%20Evaluation.pdf), une présentation par Hailey Schoelkopf et Lintang Sutawika. - [*Lessons from the trenches on Reproducible Evaluation of LMs*](https://arxiv.org/abs/2405.14782), un papier d'EleutherAI. - Deux podcasts de *Latent Space* sur l'évaluation - [*Benchmarks 101*](https://www.latent.space/p/benchmarks-101), sur l'historique des jeux d'évaluation automatisés et les questions connexes bien connues. - [*Benchmarks 201*](https://www.latent.space/p/benchmarks-201), sur la méthode d'évaluation à utiliser et à quel moment, ainsi que quelques informations sur le *Leaderboard* avec votre serviteuse ! """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" ##### *LLM-as-a-judge* Des résumés sympas et des retours d'expérience : - https://eugeneyan.com/writing/llm-evaluators/ - https://cameronrwolfe.substack.com/p/llm-as-a-judge - https://dylandigitalgarden.com/2024/July/July+31%2C+2024+LLM+%26+VLM-as-a-Judge """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown(""" ### Software ##### Bibliothèques Python - [`lm_eval`](https://github.com/EleutherAI/lm-evaluation-harness/) par Eleuther (également connu sous le nom de « The Harness »).
La référence en matière d'évaluation de LLM, vous permettant d'évaluer n'importe quel LLM de nombreux fournisseurs sur une série de *benchmarks*, d'une manière stable et reproductible. - [`lighteval`](https://github.com/huggingface/lighteval) par Hugging Face (avertissement : je suis l'une des auteurs).
Une suite d'évaluation LLM légère, centrée sur la personnalisation et les jeux d'évaluation récents. """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" ##### Classements - [*Open LLM Leaderboard*](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) par Hugging Face.
Évaluation indépendante et neutre des LLMs ouverts sur des jeux d'évaluation statiques de référence (ouvert aux soumissions) - [*HELM*](https://crfm.stanford.edu/helm/lite/latest/#/leaderboard) par Stanford.
Évalue également les modèles sur des jeux d'évaluation statiques, mais utilise les taux de victoire pour classer les modèles. - [*Chatbot Arena*](https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard) par LMSys
Arena utilise l'évaluation humaine crowdsourcée pour noter 150 LLM. - [*LLM Performance Leaderboard*](https://huggingface.co/spaces/ArtificialAnalysis/LLM-Performance-Leaderboard) par Artificial Analysis
Jeu d'évaluation des performances et prix des plus grands fournisseurs d'API LLM, si vous souhaitez utiliser une API au lieu de faire fonctionner les choses localement. - [*All our blogs about evaluations and leaderboards*](https://huggingface.co/blog?tag=leaderboard) - [*Leaderboard finder*](https://huggingface.co/spaces/leaderboards/LeaderboardFinder)
Trouvez le classement le plus pertinent pour votre cas d'utilisation. """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" ##### Tutoriels - [*End-to-end custom domain evaluation tutorial*](https://github.com/argilla-io/argilla-cookbook/tree/main/domain-eval)
Ce tutoriel vous guide dans la construction d'une tâche d'évaluation personnalisée pour votre domaine. Il utilise des données synthétiques et une évaluation manuelle avec [Argilla](https://github.com/argilla-io/argilla/) et [distilabel](https://github.com/argilla-io/distilabel). """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown(""" """) st.markdown(""" """) st.markdown(""" """) st.markdown( """### NLP ##### Connaissances générales - [*NLP for You*](https://lena-voita.github.io/nlp_course.html) de Lena Voita.
L'un des meilleurs cours de NLP en ligne, vraiment pas à pas et agréable à lire. - [Le cours de NLP 🤗](https://huggingface.co/learn/nlp-course/fr/chapter1/1) par Hugging Face (en français).
Extrêmement complet, avec de nombreux extraits de code pour que vous puissiez commencer rapidement ! """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown(""" ##### Comprendre les architectures des LLM - [*The Annotated Encoder Decoder*](https://bastings.github.io/annotated_encoder_decoder/), par Jasmijn Bastings.
Vous guide à travers l'article de Bahdanau de 2015 introduisant l'encodeur-décodeur avec attention pour les réseaux récurrents, avec des explications de code à chaque étape. - [*The Annotated Transformers*](https://nlp.seas.harvard.edu/2018/04/03/attention.html) de Sasha Rush.
Vous guide à travers l'article de Vaswani de 2016 introduisant les *transformers*, avec des explications de code à chaque étape. - [*The Illustrated Transformers*](https://jalammar.github.io/illustrated-transformer/) par Jay Alammar ([version en français](https://lbourdois.github.io/blog/nlp/Transformer/)).
Bon complément au lien précédent, avec des visualisations au lieu de codes. - [*The Annotated S4*](https://srush.github.io/annotated-s4/) de Sasha Rush.
Vous guide à travers le papier *Structured State Space for Sequence Modeling* (S4), avec du code à chaque étape. Si vous vous demandez ce que sont les modèles d'espace d'état, jetez-y un coup d'œil ! - [*A Visual Guide to MoE*](https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mixture-of-experts) par Maarten Grootendorst.
Lisez d'abord l'un des guides sur les *transformers* ci-dessus, puis jetez un coup d'oeil à ce guide ! Beaucoup de belles visualisations. """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown(""" ##### Instructions (*Prompts*) - [*Show me the prompt*](https://hamel.dev/blog/posts/prompt/) """, unsafe_allow_html=True) st.markdown(""" """) st.markdown(""" """) st.markdown(""" """) col1, col2, col3= st.columns(3) with col1: if st.button('Section précédente', use_container_width=True): switch_page("Notebook") with col2: if st.button("Accueil", use_container_width=True): switch_page("Home")