Commit bffbc6d2 authored by Delvallez Delvallez's avatar Delvallez Delvallez

reprise RAG4HN V1

parent fd3f0282
...@@ -40,7 +40,7 @@ différents pdf, taille des documents, répartition positif/négatif) ...@@ -40,7 +40,7 @@ différents pdf, taille des documents, répartition positif/négatif)
ce qui manque, les modifications proposées) ce qui manque, les modifications proposées)
\end{verbatim} \end{verbatim}
Les données fournies par le challenge étant brutes, un premier traitement a été effectué. Les PDf ont été converti au format Markdown à l'aide de PyMuPDF4LLM \cite{artifex} pour les stocker dans base de donnée. Ce format est lisible pour l'humain et est souvent utilisé en entrée et sortie des grands modèles de langue. Les images n'ont pas été conservées car nous ne nous intéressons pas au traitement de données multi-modales. Ce pourrais être une perspective d'évolution dans le conception du modèle. \md{hors sujet?} Les textes récupérés sont découpés en page et en chunk plus petits pour les pages contenant plus de 500 tokens. Les données fournies par le challenge étant brutes, un premier traitement a été effectué. Les PDf ont été converti au format Markdown à l'aide de PyMuPDF4LLM \cite{artifex_software_pymupdf4llm_2026} pour les stocker dans base de donnée. Ce format est lisible pour l'humain et est souvent utilisé en entrée et sortie des grands modèles de langue. Les images n'ont pas été conservées car nous ne nous intéressons pas au traitement de données multi-modales. Ce pourrais être une perspective d'évolution dans le conception du modèle. \md{hors sujet?} Les textes récupérés sont découpés en page et en chunk plus petits pour les pages contenant plus de 500 tokens.
La construction de la base de donnée a nécessité plusieurs itérations. Les différentes versions sont toutes au format CSV avec des champs d'identification de la question (identifiant) et de l'extrait (nom du fichier, identifiant, numéro de page, numéro de chunk dans le document), la question et l'extrait du document. Pour la base de donnée du modèle et son utilisation, les questions et les documents sont fournis dans deux fichiers CSV distincts pour toutes les versions. La base est mise sous forme de paires (produit cartésien) pour l'utilisation de MechIR et l'application de l'activation patching. La construction de la base de donnée a nécessité plusieurs itérations. Les différentes versions sont toutes au format CSV avec des champs d'identification de la question (identifiant) et de l'extrait (nom du fichier, identifiant, numéro de page, numéro de chunk dans le document), la question et l'extrait du document. Pour la base de donnée du modèle et son utilisation, les questions et les documents sont fournis dans deux fichiers CSV distincts pour toutes les versions. La base est mise sous forme de paires (produit cartésien) pour l'utilisation de MechIR et l'application de l'activation patching.
...@@ -61,6 +61,25 @@ différents pdf, taille des documents, répartition positif/négatif) ...@@ -61,6 +61,25 @@ différents pdf, taille des documents, répartition positif/négatif)
- Reprise du reranking (mettre au propre la photo du schema sur l'ardoise) - Reprise du reranking (mettre au propre la photo du schema sur l'ardoise)
\end{verbatim} \end{verbatim}
Pour répondre au challenge, nous avions besoin d'une architecture RAG complète fonctionnelle avec un extracteur sur lequel appliquer l'activation patching. Le stage ne portant pas sur la conception d'une architecture, nous avons repris et simplifié l'architecture proposée par \cite{tran_retrieval_2024} pour l'adapter à la première tâche du challenge RAG. Le choix de cette architecture est motivé par la disponibilité du code source et le fait qu'elle est déjà adapté aux documents en français.
Les données du challenge n'étant pas au format (titre, document), la première extraction a été supprimée. Pour la même raison, le reclassement des textes extraits a été revu : la composante du TF-IDF est appliquée sur les extraits au lieu des titres (voir Figure~\ref{fig:rerank_rag4X}). Le module de récupération de document sur le web n'étant pas compatible avec le challenge, il a aussi été écarté.
\begin{figure}\begin{center}
\includegraphics[width=0.8\textwidth]{images/rerank_RAG4X-comparaison.drawio.png}
\caption{Calcul du score de pertinence pour le reclassement des extraits de RAG4historicalNewspapers à gauche et de notre version simplifiée à droite}
\label{fig:rerank_rag4X}
\end{center}\end{figure}
L'architecture obtenue est illustrée par la Figure~\ref{fig:ArchiRAG4def}.
\begin{figure}
\includegraphics[width=\textwidth]{images/RAGHN-perso.drawio.png}
\caption{Version simplifiée de RAG4HistoricalNewspapers utilisée pour le challenge}
\label{fig:ArchiRAG4def}
\end{figure}
\md{Est-il pertinent de mentionner le montée en version des librairies dans cette partie ?}
\section{Objectifs} \section{Objectifs}
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
% - L'extracteur de RAG4HN est mE5 [Wang+25b] (version multilingue de E5 [Whang+25a]) % - L'extracteur de RAG4HN est mE5 [Wang+25b] (version multilingue de E5 [Whang+25a])
% \end{verbatim} % \end{verbatim}
Dans la suite, nous utilisons une version simplifiée de l'architecture RAG4HistoricalNewspaper conçue par \cite{tran_retrieval_2024}. Cette architecture est conçue pour faciliter l'exploration d'archives de journaux historiques. Comme illustré dans le Figure~\ref{fig:RAG4HN}, un premier extracteur récupère les articles pertinents au regard de leur titre. Ces informations sont utilisées pour orienter l'extraction des extraits articles. Dans le cas où aucun titre ou document ne sont extraits, des ressources sont récupérées via une recherche Web. La première extraction peut être vue comme une amélioration de la requête pour l'extraction des extraits d'articles. Les deux extracteurs utilisent le modèle mE5-small de \cite{wang_multilingual_2024} et ChromaDB pour la gestion des données. Après l'extraction, les articles obtenus sont reclassés. Le score utilisé est issu d'une combinaison linéaire entre le score de Cohere et le TF-IDF des titres concaténés avec les étiquettes des entités nommées qu'ils contiennent. Seuls les trois meilleurs documents au dessus d'un certain seuil sont conservés. Ce reclassement est une technique d'amélioration des ressources extraites. Pour finir, les documents et la question initiale sont fournis à travers une prompt template à LLaMa3 \cite{touvron_llama_2023} qui est utilisé comme générateur. Dans la suite, nous utilisons une version simplifiée de l'architecture RAG4HistoricalNewspaper conçue par \cite{tran_retrieval_2024}. Cette architecture est conçue pour faciliter l'exploration d'archives de journaux historiques. Comme illustré dans le Figure~\ref{fig:RAG4HN}, un premier extracteur récupère les articles pertinents au regard de leur titre. Ces informations sont utilisées pour orienter l'extraction des extraits articles. Dans le cas où aucun titre ou document ne sont extraits, des ressources sont récupérées via une recherche Web. La première extraction peut être vue comme une amélioration de la requête pour l'extraction des extraits d'articles. Les deux extracteurs utilisent le modèle mE5-small de \cite{wang_multilingual_2024} et ChromaDB pour la gestion des données. Après l'extraction, les articles obtenus sont reclassés. Le score utilisé est issu d'une combinaison linéaire entre le score de Cohere et le TF-IDF des titres concaténés avec les étiquettes des entités nommées de la question. Seuls les trois meilleurs documents au dessus d'un certain seuil sont conservés. Ce reclassement est une technique d'amélioration des ressources extraites. Pour finir, les documents et la question initiale sont fournis à travers une prompt template à LLaMa3 \cite{touvron_llama_2023} qui est utilisé comme générateur.
\begin{figure} \begin{figure}
\includegraphics[width=\textwidth]{images/RAGHN.drawio.png} \includegraphics[width=\textwidth]{images/RAGHN.drawio.png}
...@@ -259,3 +259,5 @@ ...@@ -259,3 +259,5 @@
Dans la Figure~\ref{fig:SensibiliteVizMechIRDemo}, on remarque principalement le noeud (1,6). Une interprétation possible est que le patching du noeud diminue fortement l'estimation de pertinence effectuée par le modèle sur les documents non perturbé. \md{pas satisfaisant} Dans la Figure~\ref{fig:SensibiliteVizMechIRDemo}, on remarque principalement le noeud (1,6). Une interprétation possible est que le patching du noeud diminue fortement l'estimation de pertinence effectuée par le modèle sur les documents non perturbé. \md{pas satisfaisant}
\md{RQ : ajouter la distinction entre QA (et autres tâches de RAG) et IR et leur lien}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment