Papier Pixiu | Classement FinBen
Clause de non-responsabilité
Ce référentiel et son contenu sont fournis à des fins académiques et éducatives uniquement . Aucun élément ne constitue un conseil financier, juridique ou d'investissement. Aucune garantie, expresse ou implicite, n'est offerte concernant l'exactitude, l'exhaustivité ou l'utilité du contenu. et les contributeurs ne sont pas responsables des erreurs, omissions ou des conséquences découlant de l'utilisation des informations contenues dans le présent document. Les utilisateurs doivent exercer leur propre jugement et consulter des professionnels avant de prendre des décisions financières, juridiques ou d'investissement. contenu dans ce référentiel est entièrement aux risques et périls de l'utilisateur.
En utilisant ou en accédant aux informations de ce référentiel, vous acceptez d'indemniser, de défendre et de dégager de toute responsabilité les auteurs, les contributeurs et toute organisation ou personne affiliée contre toute réclamation ou dommage.
? Mise à jour (Date : 22/09/2023)
Nous sommes ravis d'annoncer que notre article, « PIXIU : A Comprehensive Benchmark, Instruction Dataset and Large Language Model for Finance », a été accepté par NeurIPS 2023 Track Datasets and Benchmarks !
? Mise à jour (Date : 10-08-2023)
? Nous sommes fiers de partager les versions améliorées de FinBen, qui prennent désormais en charge le chinois et l'espagnol !
? Mise à jour (Date : 20/02/2024)
? Nous sommes ravis de vous annoncer que notre article, « The FinBen : An Holistic Financial Benchmark for Large Language Models », est désormais disponible sur FinBen.
? Mise à jour (Date : 05-02-2024)
? Nous sommes heureux de vous inviter à participer au défi IJCAI2024, "Financial Challenges in Large Language Models - FinLLM", le kit de démarrage est disponible sur Starter-kit.
Points de contrôle :
Langues
Papiers
Évaluations :
Analyse des sentiments
Classification
Extraction de connaissances
Compréhension des nombres
Résumé du texte
Notation de crédit
Prévision
Bienvenue dans le projet PIXIU ! Ce projet est conçu pour soutenir le développement, le réglage fin et l'évaluation de grands modèles linguistiques (LLM) dans le domaine financier. PIXIU constitue une étape importante vers la compréhension et l'exploitation de la puissance des LLM dans le domaine financier. .
Le référentiel est organisé en plusieurs composants clés, chacun servant un objectif unique dans le pipeline financier NLP :
FinBen : notre référence d'évaluation de compréhension et de prévision du langage financier FinBen sert de suite d'évaluation pour les LLM financiers, en mettant l'accent sur les tâches de compréhension et de prévision dans divers contextes financiers.
FIT : Notre ensemble de données d'instructions financières. FIT est un ensemble de données d'instructions multitâches et multimodales spécialement conçu pour les tâches financières. Il sert de terrain de formation pour affiner les LLM pour ces tâches.
FinMA : Notre modèle financier en grand langage (LLM) est au cœur de notre projet, fournissant la puissance d'apprentissage et de prédiction pour nos tâches financières.
Ressources ouvertes : PIXIU fournit ouvertement le LLM financier, les données de réglage des instructions et les ensembles de données inclus dans le référentiel d'évaluation pour encourager la recherche ouverte et la transparence.
Multitâche : les données de réglage des instructions et le benchmark de PIXIU couvrent un ensemble diversifié de tâches financières, notamment quatre tâches de PNL financière et une tâche de prédiction financière.
Multimodalité : les données de réglage des instructions et le benchmark de PIXIU se composent de données financières multimodales, y compris des données de séries chronologiques provenant de la tâche de prévision des mouvements de stocks. Elles couvrent divers types de textes financiers, notamment des rapports, des articles de presse, des tweets et des documents réglementaires.
Diversité : contrairement aux benchmarks précédents axés principalement sur les tâches de PNL financière, le benchmark d'évaluation de PIXIU comprend des tâches de prévision financière critiques alignées sur des scénarios du monde réel, ce qui le rend plus difficile.
Dans cette section, nous fournissons une analyse détaillée des performances de la FinMA par rapport à d'autres modèles leaders, notamment ChatGPT, GPT-4 et BloombergGPT et al. Pour cette analyse, nous avons choisi une gamme de tâches et de mesures qui couvrent divers aspects de la finance. Traitement du langage naturel et prévisions financières. Tous les résultats du modèle FinBen peuvent être trouvés sur notre classement !
Données | Tâche | Brut | Types de données | Modalités | Licence | Papier |
---|---|---|---|---|---|---|
BFP | analyse des sentiments | 4 845 | nouvelles | texte | CC BY-SA 3.0 | [1] |
FiQA-SA | analyse des sentiments | 1 173 | titres d'actualité, tweets | texte | Publique | [2] |
CST | analyse des sentiments | 561 | gros titres de l'actualité | texte | CC BY-NC-SA 4.0 | [3] |
FOMC | classification belliciste-dovish | 496 | Transcriptions du FOMC | texte | CC BY-NC 4.0 | [4] |
Titres | classement des titres d'actualité | 11 412 | gros titres de l'actualité | texte | CC BY-SA 3.0 | [5] |
FinArg-ECC-Tâche1 | classification des unités d'argument | 969 | conférence téléphonique sur les résultats | texte | CC BY-NC-SA 4.0 | [6] |
FinArg-ECC-Tâche2 | classification des relations d'argument | 690 | conférence téléphonique sur les résultats | texte | CC BY-NC-SA 4.0 | [6] |
Multifin FR | classification multiclasse | 546 | titres d'articles | texte | Publique | [7] |
Fusions et acquisitions | classification de l'intégralité des transactions | 500 | articles de presse, tweets | texte | Publique | [8] |
MLESGEN | Identification des enjeux ESG | 300 | articles de presse | texte | CC BY-NC-ND | [9] |
NER | reconnaissance d'entité nommée | 1 366 | accords financiers | texte | CC BY-SA 3.0 | [10] |
Ord plus fin | reconnaissance d'entité nommée | 1 080 | articles de presse | texte | CC BY-NC 4.0 | [11] |
FinRED | extraction de relations | 1 070 | gagner des transactions d'appel | texte | Publique | [12] |
FinCausual 2020 Tâche 1 | classification causale | 8 630 | articles de presse, SEC | texte | CC PAR 4.0 | [13] |
FinCausual 2020 Tâche 2 | détection causale | 226 | articles de presse, SEC | texte | CC PAR 4.0 | [13] |
FinQA | réponse aux questions | 8 281 | rapports sur les revenus | texte, tableau | Licence MIT | [14] |
AQt | réponse aux questions | 1 670 | rapports financiers | texte, tableau | Licence MIT | [15] |
FxL | étiquetage numérique | 318 | SECONDE | texte | Publique | [16] |
FSRL | classification des jetons | 97 | articles de presse | texte | Licence MIT | [17] |
ECTSUM | résumé du texte | 495 | gagner des transactions d'appel | texte | Publique | [18] |
EDTSUM | résumé du texte | 2000 | articles de presse | texte | Publique | [19] |
Allemand | notation de crédit | 1000 | dossiers de crédit | tableau | CC PAR 4.0 | [20] |
australien | notation de crédit | 690 | dossiers de crédit | tableau | CC PAR 4.0 | [vingt-et-un] |
Club de prêt | notation de crédit | 1,3453 | informations financières | tableau | CC0 1.0 | [vingt-deux] |
BigData22 | prédiction des mouvements de stocks | 7 164 | tweets, prix historiques | texte, série chronologique | Publique | [vingt-trois] |
LCA18 | prédiction des mouvements de stocks | 27 053 | tweets, prix historiques | texte, série chronologique | Licence MIT | [vingt-quatre] |
CIKM18 | prédiction des mouvements de stocks | 4 967 | tweets, prix historiques | texte, série chronologique | Publique | [25] |
ConvFinQA | réponse aux questions à plusieurs tours | 1 490 | rapports sur les revenus | texte, tableau | Licence MIT | [26] |
Fraude à la carte de crédit | Détection de fraude | 11 392 | informations financières | tableau | (DbCL) v1.0 | [vingt-deux] |
ccFraude | Détection de fraude | 10 485 | informations financières | tableau | Publique | [vingt-deux] |
polonais | Identification des difficultés financières | 8 681 | caractéristiques de la situation financière | tableau | CC PAR 4.0 | [vingt-deux] |
Journal économique de Taiwan | Identification des difficultés financières | 6 819 | caractéristiques de la situation financière | tableau | CC PAR 4.0 | [vingt-deux] |
PortoSeguro | Analyse des réclamations | 11 904 | réclamation et informations financières | tableau | Publique | [vingt-deux] |
Assurance voyage | Analyse des réclamations | 12 665 | réclamation et informations financières | tableau | (ODbL) v1.0 | [vingt-deux] |
1. Pekka Malo, Ankur Sinha, Pekka Korhonen, Jyrki Wallenius et Pyry Takala 2014. Bonne dette ou mauvaise dette : Détection des orientations sémantiques dans les textes économiques 65, 4 (2014), 782. –796.
2. Macedo Maia, Siegfried Handschuh, André Freitas, Brian Davis, Ross McDermott, Manel Zarrouk et Alexandra Balahur. 2018. Défi ouvert WW'18 : recherche d'opinions financières et réponses aux questions dans les actes compagnons de la conférence Web 2018. 1941. –1942.
3. Keith Cortis, André Freitas, Tobias Daudert, Manuela Huerlimann, Manel Zarrouk, Siegfried Handschuh et Brian Davis 2017. SemEval-2017 Tâche 5 : Analyse fine des sentiments sur les microblogs et l'actualité financière dans les actes du 11e atelier international . sur l'évaluation sémantique (SemEval-2017) , pages 519-535, Vancouver, Canada. Association pour la linguistique informatique.
4. Agam Shah, Suvan Paturi et Sudheer Chava. 2023. Des mots d'un milliard de dollars : un nouvel ensemble de données financières, une analyse des tâches et du marché, dans les actes de la 61e réunion annuelle de l'Association for Computational Linguistics (Volume 1 : Articles longs) , pages. 6664-6679, Toronto, Canada. Association pour la linguistique informatique.
5. Ankur Sinha et Tanmay Khandait. 2021. Impact de l'actualité sur le marché des matières premières : ensemble de données et résultats dans Advances in Information and Communication : Actes de la conférence sur l'avenir de l'information et de la communication (FICC) 2021, volume 2. Springer, 589–. 601.
6. Chen CC, Lin CY, Chiu CJ et al. Aperçu de la tâche NTCIR-17 FinArg-1 : compréhension fine des arguments en analyse financière[C]//Actes de la 17e conférence NTCIR sur l'évaluation des technologies d'accès à l'information , Tokyo, Japon 2023.
7. Rasmus Jørgensen, Oliver Brandt, Mareike Hartmann, Xiang Dai, Christian Igel et Desmond Elliott 2023. MultiFin : Un ensemble de données pour la PNL financière multilingue Dans les résultats de l'Association pour la linguistique informatique : EACL 2023 , pages 894-909, Dubrovnik. , Croatie. Association pour la linguistique informatique.
8. Yang, L., Kenny, EM, Ng, TL, Yang , Y., Smyth, B. et Dong, R. (2020). Générer des explications contrefactuelles plausibles pour les transformateurs profonds dans la classification des textes financiers. Linguistique .
9. Chung-Chi Chen, Yu-Min Tseng, Juyeon Kang, Anaïs Lhuissier, Min-Yuh Day, Teng-Tsai Tu et Hsin-Hsi Chen 2023. Identification multilingue des problèmes d'ESG dans les actes du cinquième atelier sur. Technologie financière et traitement du langage naturel (FinNLP) et deuxième IA multimodale pour les prévisions financières (Muffin) .
10. Julio Cesar Salinas Alvarado, Karin Verspoor et Timothy Baldwin 2015. Adaptation du domaine de la reconnaissance des entités nommées pour prendre en charge l'évaluation du risque de crédit. Dans les actes de l'atelier 2015 de l'Australasian Language Technology Association.
11. Shah A, Vithani R, Gullapalli A et al. Finer : ensemble de données de reconnaissance d'entités financières nommées et modèle de supervision faible [J].
12. Sharma, Soumya et al. « FinRED : Un ensemble de données pour l'extraction de relations dans le domaine financier. » Actes compagnon de la conférence Web 2022 (2022) : pag.
13. Dominique Mariko, Hanna Abi-Akl, Estelle Labidurie, Stéphane Durfort, Hugues De Mazancourt et Mahmoud El-Haj 2020. La tâche partagée de détection de la causalité des documents financiers (FinCausal 2020). Traitement et synthèse financière MultiLing , pages 23 à 32, Barcelone, Espagne (En ligne).
14. Zhiyu Chen, Wenhu Chen, Charese Smiley, Sameena Shah, Iana Borova, Dylan Langdon, Reema Moussa, Matt Beane, Ting-Hao Huang, Bryan R Routledge, et al. 2021. FinQA : Un ensemble de données de raisonnement numérique sur les données financières. . Dans Actes de la conférence 2021 sur les méthodes empiriques dans le traitement du langage naturel. 3697-3711.
15. Zhu, Fengbin, Wenqiang Lei, Youcheng Huang, Chao Wang, Shuo Zhang, Jiancheng Lv, Fuli Feng et Tat-Seng Chua « TAT-QA : une référence de réponse aux questions sur un hybride de contenu tabulaire et textuel en finance ». ArXiv abs/2105.07624 (2021) : n.
16. Soumya Sharma, Subhendu Khatuya, Manjunath Hegde, Afreen Shaikh, Koustuv Dasgupta, Pawan Goyal et Niloy Ganguly 2023. Financial Numeric Extreme Labelling : Un ensemble de données et une analyse comparative dans les conclusions de l'Association for Computational Linguistics : ACL 2023 , pages 3550. –3561, Toronto, Canada Association pour le calcul. Linguistique.
17. Matthew Lamm, Arun Chaganty, Christopher D. Manning , Dan Jurafsky et Percy Liang. 2018. Analyse d'analogie textuelle : ce qui est partagé et ce qui est comparé parmi les faits analogues, pages. 82–92, Bruxelles, Belgique. Association pour la linguistique computationnelle.
18. Rajdeep Mukherjee, Abhinav Bohra, Akash Banerjee, Soumya Sharma, Manjunath Hegde, Afreen Shaikh, Shivani Shrivastava, Koustuv Dasgupta, Niloy Ganguly, Saptarshi Ghosh et Pawan Goyal 2022. ECTSum : un nouvel ensemble de données de référence pour la synthèse par puces de Long. Transcriptions des appels sur les revenus. Actes de la conférence 2022 sur les méthodes empiriques dans le traitement du langage naturel , pages 10893-10906, Abu Dhabi, Association des Émirats arabes unis pour la linguistique informatique.
19. Zhihan Zhou, Liqian Ma et Han Liu. 2021. Trade the Event : Corporate Events Detection for News-Based Event-Driven Trading dans les conclusions de l'Association for Computational Linguistics : ACL-IJCNLP 2021 , pages 2114-2124, en ligne. .Association pour la linguistique computationnelle.
20. Hofmann, Hans (1994). Statlog (Référentiel allemand de données de crédit).
21. Quinlan, Ross. Statlog (Approbation australienne des crédits).
22. Duanyu Feng, Yongfu Dai, Jimin Huang, Yifang Zhang, Qianqian Xie, Weiguang Han, Alejandro Lopez-Lira, Hao Wang 2023. Autonomiser beaucoup, biaiser quelques-uns : notation de crédit généraliste grâce à de grands modèles linguistiques. 2023) : n.
23. Yejun Soun, Jaemin Yoo, Minyong Cho, Jihyeong Jeon et U Kang 2022. Prédiction précise des mouvements de stocks avec apprentissage auto-supervisé à partir de tweets clairsemés et bruyants lors de la conférence internationale de l'IEEE 2022 sur le Big Data (IEEE, 1691). –1700.
24. Yumo Xu et Shay B Cohen. 2018. Prédiction des mouvements de stocks à partir de tweets et de prix historiques. Dans les actes de la 56e réunion annuelle de l'Association for Computational Linguistics (Volume 1 : Long Papers).
25. Huizhe Wu, Wei Zhang, Weiwei Shen et Jun Wang. 2018. Modélisation séquentielle profonde hybride pour la prévision des stocks basée sur le texte social. Dans les actes de la 27e conférence internationale de l'ACM sur la gestion de l'information et des connaissances, 1627-1630.
26. Zhiyu Chen, Shiyang Li, Charese Smiley, Zhiqiang Ma, Sameena Shah et William Yang Wang 2022. ConvFinQA : Explorer la chaîne de raisonnement numérique dans la réponse aux questions de finance conversationnelle dans les actes de la conférence 2022 sur les méthodes empiriques en langage naturel. Traitement, pages 6279 à 6292, Abu Dhabi, Association des Émirats arabes unis. pour la linguistique computationnelle.
git clone https://github.com/The-FinAI/PIXIU.git --recursive
cd PIXIU
pip install -r requirements.txt
cd src/financial-evaluation
pip install -e .[multilingual]
sudo bash scripts/docker_run.sh
La commande ci-dessus démarre un conteneur Docker, vous pouvez modifier docker_run.sh
pour l'adapter à votre environnement. Nous fournissons une image prédéfinie en exécutant sudo docker pull tothemoon/pixiu:latest
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864
--network host
--env https_proxy= $https_proxy
--env http_proxy= $http_proxy
--env all_proxy= $all_proxy
--env HF_HOME= $hf_home
-it [--rm]
--name pixiu
-v $pixiu_path : $pixiu_path
-v $hf_home : $hf_home
-v $ssh_pub_key :/root/.ssh/authorized_keys
-w $workdir
$docker_user /pixiu: $tag
[--sshd_port 2201 --cmd " echo 'Hello, world!' && /bin/bash " ]
Les arguments expliquent :
[]
signifie des arguments ignorantsHF_HOME
: répertoire du cache huggingfacesshd_port
: port sshd du conteneur, vous pouvez exécuter ssh -i private_key -p $sshd_port root@$ip
pour vous connecter au conteneur, par défaut 22001--rm
: supprime le conteneur lorsque vous quittez le conteneur (c'est-à-dire CTRL + D
) Avant l'évaluation, veuillez télécharger le point de contrôle BART sur src/metrics/BARTScore/bart_score.pth
.
Pour une évaluation automatisée, veuillez suivre ces instructions :
Transformateur câlin
Pour évaluer un modèle hébergé sur le HuggingFace Hub (par exemple, finma-7b-full), utilisez cette commande :
python eval.py
--model " hf-causal-llama "
--model_args " use_accelerate=True,pretrained=TheFinAI/finma-7b-full,tokenizer=TheFinAI/finma-7b-full,use_fast=False "
--tasks " flare_ner,flare_sm_acl,flare_fpb "
Plus de détails peuvent être trouvés dans la documentation lm_eval.
Veuillez noter que pour les tâches telles que NER, l'évaluation automatisée est basée sur un modèle spécifique. Cela peut ne pas réussir à extraire les informations pertinentes dans des paramètres de zéro tir, ce qui entraîne des performances relativement inférieures par rapport aux résultats annotés par l'homme.
export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
python eval.py
--model gpt-4
--tasks flare_ner,flare_sm_acl,flare_fpb
Pour exécuter le backend d'inférence :
bash scripts/run_interface.sh
Veuillez ajuster run_interface.sh en fonction des exigences de votre environnement.
Pour évaluer :
python data/ * /evaluate.py
La création d'une nouvelle tâche pour FinBen implique la création d'un ensemble de données Huggingface et l'implémentation de la tâche dans un fichier Python. Ce guide vous guide à travers chaque étape de configuration d'une nouvelle tâche à l'aide du framework FinBen.
Votre ensemble de données doit être créé au format suivant :
{
"query" : "..." ,
"answer" : "..." ,
"text" : "..."
}
Sous cette forme :
query
: combinaison de votre invite et de votre texteanswer
: Votre étiquettePour les tâches multi-tours (telles que)
Pour les tâches de classification (telles que FPB (FinBen_fpb)), des clés supplémentaires doivent être définies :
choices
: Ensemble d'étiquettesgold
: Index du bon label dans les choix (Départ à 0)Pour les tâches d'étiquetage séquentiel (telles que Finer Ord (FinBen_finer_ord)), des clés supplémentaires doivent être définies :
label
: Liste des étiquettes de jetons
token
: Liste des jetons
Pour les tâches de synthèse extractive (telles que ECTSUM (FinBen_ectsum)), des clés supplémentaires doivent être définies :
label
: Liste des étiquettes de phrasesPour les tâches abstraites de résumé et de réponse aux questions (telles que EDTSUM (FinBen_edtsum)), aucune clé supplémentaire ne doit être définie
Une fois votre ensemble de données prêt, vous pouvez commencer à implémenter votre tâche. Votre tâche doit être définie dans une nouvelle classe dans flare.py ou dans tout autre fichier Python situé dans le répertoire des tâches.
Pour répondre à une gamme de tâches, nous proposons plusieurs classes de base spécialisées, notamment Classification
, SequentialLabeling
, RelationExtraction
, ExtractiveSummarization
, AbstractiveSummarization
et QA
.
Par exemple, si vous vous lancez dans une tâche de classification, vous pouvez directement exploiter notre classe de base Classification
. Cette classe permet une création de tâches efficace et intuitive, examinons un exemple de création d'une tâche nommée FinBen-FPB. la classe de base Classification
:
class flareFPB ( Classification ):
DATASET_PATH = "flare-fpb"
Et c'est tout ! Une fois que vous avez créé votre classe de tâches, l'étape suivante consiste à l'enregistrer dans le fichier src/tasks/__init__.py
. Pour cela, ajoutez une nouvelle ligne au format "task_name": module.ClassName
. Voici comment procéder :
TASK_REGISTRY = {
"flare_fpb" : flare . FPB ,
"your_new_task" : your_module . YourTask , # This is where you add your task
}
Tâche | Métrique | Illustration |
---|---|---|
Classification | Précision | Cette métrique représente le rapport entre les observations correctement prédites et le total des observations. Elle est calculée comme suit : (Vrais positifs + Vrais négatifs) / Total des observations. |
Classification | Résultats F1 | Le score F1 représente la moyenne harmonique de la précision et du rappel, créant ainsi un équilibre entre ces deux facteurs. Il s'avère particulièrement utile dans les scénarios où un facteur est plus important que l'autre. Le score varie de 0 à 1, 1 signifiant une précision parfaite. et rappel, et 0 indiquant le pire des cas. De plus, nous fournissons des versions « pondérées » et « macro » du score F1. |
Classification | Rapport manquant | Cette métrique calcule la proportion de réponses pour lesquelles aucune option parmi les choix donnés dans la tâche n'est renvoyée. |
Classification | Coefficient de corrélation de Matthews (MCC) | Le MCC est une métrique qui évalue la qualité des classifications binaires, produisant un score allant de -1 à +1. Un score de +1 signifie une prédiction parfaite, 0 dénote une prédiction qui ne vaut pas mieux qu'un hasard et -1 indique une prédiction complètement inverse. prédiction. |
Étiquetage séquentiel | score F1 | Dans le contexte des tâches d'étiquetage séquentiel, nous utilisons le score F1 tel que calculé par la bibliothèque seqeval , une métrique d'évaluation robuste au niveau de l'entité. Cette métrique exige une correspondance exacte de l'étendue et du type de l'entité entre les entités prédites et celles de vérité terrain pour un. évaluation correcte. Les vrais positifs (TP) représentent des entités correctement prédites, les faux positifs (FP) désignent des entités mal prédites ou des entités avec des étendues/types incompatibles, et les faux négatifs (FN) signifient des entités manquées. vérité terrain. La précision, le rappel et le score F1 sont ensuite calculés à l'aide de ces quantités, le score F1 représentant la moyenne harmonique de la précision et du rappel. |
Étiquetage séquentiel | Étiquette score F1 | Cette métrique évalue les performances du modèle en se basant uniquement sur l'exactitude des étiquettes prédites, sans tenir compte des étendues d'entités. |
Extraction de relations | Précision | La précision mesure la proportion de relations correctement prédites parmi toutes les relations prédites. Elle est calculée comme le nombre de vrais positifs (TP) divisé par la somme des vrais positifs et des faux positifs (FP). |
Extraction de relations | Rappel | Le rappel mesure la proportion de relations correctement prédites parmi toutes les relations réelles. Il est calculé comme le nombre de vrais positifs (TP) divisé par la somme des vrais positifs et des faux négatifs (FN). |
Extraction de relations | score F1 | Le score F1 est la moyenne harmonique de la précision et du rappel, et il fournit un équilibre entre ces deux mesures. Le score F1 est à son meilleur à 1 (précision et rappel parfaits) et à son pire à 0. |
Résumé extractif et abstractif | Rouge-N | Cela mesure le chevauchement des N-grammes (une séquence contiguë de N éléments d'un échantillon de texte donné) entre le résumé généré par le système et le résumé de référence. « N » peut être 1, 2 ou plus, avec ROUGE-1 et. ROUGE-2 est couramment utilisé pour évaluer respectivement les chevauchements d'unigrammes et de bigrammes. |
Résumé extractif et abstractif | Rouge-L | Cette métrique évalue la sous-séquence commune (LCS) la plus longue entre le système et les résumés de référence. Elle prend naturellement en compte la similarité de la structure au niveau de la phrase et identifie automatiquement les n-grammes co-occurrents les plus longs. |
Réponse aux questions | EMACC | EMACC évalue la correspondance exacte entre la réponse générée par le modèle et la réponse de référence. En d’autres termes, la réponse générée par le modèle n’est considérée comme correcte que si elle correspond exactement à la réponse de référence, mot pour mot. |
De plus, vous pouvez déterminer si les étiquettes doivent être en minuscules pendant le processus de correspondance en spécifiant
LOWER_CASE
dans la définition de votre classe. Ceci est pertinent puisque les étiquettes sont mises en correspondance en fonction de leur apparence dans la sortie générée pour des tâches telles que les examens où les étiquettes constituent un ensemble spécifique. de lettres majuscules telles que « A », « B », « C », cette valeur doit généralement être définie sur False.
Notre ensemble de données d'instructions est spécialement conçu pour le LLM spécifique au domaine, FinMA. Cet ensemble de données a été méticuleusement assemblé pour affiner notre modèle sur un large éventail de tâches financières. Il présente des données multitâches et multimodales accessibles au public dérivées du modèle. plusieurs ensembles de données financières publiées en public.
L'ensemble de données comporte de multiples facettes, comprenant des tâches telles que l'analyse des sentiments, la classification des titres d'actualité, la reconnaissance d'entités nommées, la réponse aux questions et la prévision des mouvements de stocks. Il couvre à la fois les modalités de données textuelles et chronologiques, offrant une grande variété de données financières. des invites d'instructions spécifiques pour chaque tâche ont été soigneusement conçues par des experts du domaine.
Le tableau ci-dessous résume les différentes tâches, leurs modalités correspondantes, les types de texte et des exemples d'instructions utilisées pour chaque tâche :
Tâche | Modalités | Types de texte | InstructionsExemples |
---|---|---|---|
Analyse des sentiments | Texte | titres d'actualité, tweets | "Analysez le sentiment de cette déclaration extraite d'un article d'actualité financière. Donnez votre réponse comme étant négative, positive ou neutre. Par exemple, "Les actions de l'entreprise ont chuté à la suite du scandale". |
Classification des titres d'actualité | Texte | Actualités | "Déterminez si le titre mentionne le prix de l'or. Y a-t-il un prix ou non sur le marché des matières premières aurifères indiqué dans le titre de l'actualité ? Veuillez répondre par Oui ou par Non." |
Reconnaissance d'entité nommée | Texte | accords financiers | « Dans les phrases extraites des accords financiers dans les documents déposés auprès de la SEC américaine, identifiez les entités nommées qui représentent une personne (« PER »), une organisation (« ORG ») ou un emplacement (« LOC »). Le format de réponse requis est : « nom de l'entité, type d'entité ». Par exemple, dans « Elon Musk, PDG de SpaceX, a annoncé le lancement depuis Cap Canaveral », les entités seraient : « Elon Musk, PER SpaceX, ORG ; |
Réponse aux questions | Texte | rapports sur les revenus | "Dans le contexte de cette série de requêtes liées à la finance interconnectées et des informations supplémentaires fournies par le prétexte, les données des tableaux et le texte des documents financiers d'une entreprise, veuillez fournir une réponse à la question finale. Cela peut nécessiter l'extraction d'informations du contexte et effectuer des calculs mathématiques. Veuillez prendre en compte les informations fournies dans les questions précédentes et leurs réponses lors de la formulation de votre réponse :" |
Prédiction des mouvements de stock | Texte, série chronologique | tweets, cours des actions | "Analysez les informations et les publications sur les réseaux sociaux pour déterminer si le cours de clôture de {tid} va monter ou descendre à {point} . Veuillez répondre par une hausse ou une baisse." |
L'ensemble de données contient une grande quantité d'échantillons de données d'instructions (136 Ko), permettant à la FinMA de capturer les nuances des diverses tâches financières. Le tableau ci-dessous fournit les détails statistiques de l'ensemble de données d'instructions :
Données | Tâche | Brut | Instruction | Types de données | Modalités | Licence | Papier original |
---|---|---|---|---|---|---|---|
BFP | analyse des sentiments | 4 845 | 48 450 | nouvelles | texte | CC BY-SA 3.0 | [1] |
FiQA-SA | analyse des sentiments | 1 173 | 11 730 | titres d'actualité, tweets | texte | Publique | [2] |
Titre | classement des titres d'actualité | 11 412 | 11 412 | gros titres de l'actualité | texte | CC BY-SA 3.0 | [3] |
NER | reconnaissance d'entité nommée | 1 366 | 13 660 | accords financiers | texte | CC BY-SA 3.0 | [4] |
FinQA | réponse aux questions | 8 281 | 8 281 | rapports sur les revenus | texte, tableau | Licence MIT | [5] |
ConvFinQA | réponse aux questions | 3 892 | 3 892 | rapports sur les revenus | texte, tableau | Licence MIT | [6] |
BigData22 | prédiction des mouvements de stocks | 7 164 | 7 164 | tweets, prix historiques | texte, série chronologique | Publique | [7] |
LCA18 | prédiction des mouvements de stocks | 27 053 | 27 053 | tweets, prix historiques | texte, série chronologique | Licence MIT | [8] |
CIKM18 | prédiction des mouvements de stocks | 4 967 | 4 967 | tweets, prix historiques | texte, série chronologique | Publique | [9] |
Lorsque vous travaillez avec l'ensemble de données d'instructions financières (FIT), il est essentiel de suivre le format prescrit pour les modèles de formation et de test.
Le format devrait ressembler à ceci :
{
"id" : " unique id " ,
"conversations" : [
{
"from" : " human " ,
"value" : " Your prompt and text "
},
{
"from" : " agent " ,
"value" : " Your answer "
}
],
"text" : " Text to be classified " ,
"label" : " Your label "
}
Voici ce que signifie chaque champ :
Le premier tour de la liste « conversations » doit toujours provenir de « humain » et contenir votre invite et le texte. Le deuxième tour doit provenir de « agent » et contenir votre réponse.
Nous sommes heureux de présenter la première version de FinMA, comprenant trois modèles FinMA-7B, FinMA-7B-full, FinMA-30B, affiné sur LLaMA 7B et LLaMA-30B et FinMA-30B sont formés avec le. Données d'instruction PNL, tandis que FinMA-7B-full est formé avec les données d'instruction complètes de FIT couvrant à la fois les tâches de PNL et de prédiction.
FinMA v0.1 est désormais disponible sur Huggingface pour un usage public. Nous attendons avec impatience les précieuses contributions que cette version initiale apportera au domaine de la PNL financière et encourageons les utilisateurs à l'appliquer à diverses tâches et scénarios financiers. Nous invitons également les commentaires et les partages. expériences pour aider à améliorer les versions futures.
À venir.
FinMem est un nouveau cadre d'agent basé sur LLM conçu pour la prise de décision financière et comprend trois modules de base : le profilage, pour décrire les caractéristiques de l'agent ; la mémoire, avec un traitement en couches, pour aider l'agent à assimiler des données financières hiérarchiques réalistes et à prendre des décisions ; , pour convertir les informations tirées des souvenirs en décisions d'investissement. Actuellement, FinMem peut négocier des actions uniques avec des rendements élevés après un échauffement en mode simple. Vous trouverez ci-dessous un démarrage rapide d'un cadre de version dockerisé, avec TSLA comme exemple. saisir.
Étape 1 : définissez les variables d'environnement dans .env
ajoutez HUGGINGFACE TOKEN et OPENAI API KEY si nécessaire.
OPENAI_API_KEY = " <Your OpenAI Key> "
HF_TOKEN = " <Your HF token> "
Étape 2 : Définir l'URL du point de terminaison dans config.toml
Utilisez l'URL du point de terminaison pour déployer des modèles basés sur le modèle de votre choix (OPENAI, Gemini, modèles open source sur HuggingFace, etc. Pour les modèles open source sur HuggingFace, un choix pour générer TGI). les points de terminaison passent par RunPod.
[chat]
model = " tgi "
end_point = " <set the your endpoint address> "
tokenization_model_name = " <model name> "
...
Étape 3 : Créer une image et un conteneur Docker
docker build -t test-finmem .devcontainer/.
démarrer le conteneur :
docker run -it --rm -v $( pwd ) :/finmem test-finmem bash
Étape 4 : Démarrez la simulation !
Usage: run.py sim [OPTIONS]
Start Simulation
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --market-data-path -mdp TEXT The environment data pickle path [default: data/06_input/subset_symbols.pkl] │
│ --start-time -st TEXT The training or test start time [default: 2022-06-30 For Ticker ' TSLA ' ] │
│ --end-time -et TEXT The training or test end time [default: 2022-10-11] │
│ --run-model -rm TEXT Run mode: train or test [default: train] │
│ --config-path -cp TEXT config file path [default: config/config.toml] │
│ --checkpoint-path -ckp TEXT The checkpoint save path [default: data/10_checkpoint_test] │
│ --result-path -rp TEXT The result save path [default: data/11_train_result] │
│ --trained-agent-path -tap TEXT Only used in test mode, the path of trained agent [default: None. Can be changed to data/05_train_model_output OR data/06_train_checkpoint] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Exemple d'utilisation :
python run.py sim --market-data-path data/03_model_input/tsla.pkl --start-time 2022-06-30 --end-time 2022-10-11 --run-model train --config-path config/tsla_tgi_config.toml --checkpoint-path data/06_train_checkpoint --result-path data/05_train_model_output
Il existe également des fonctionnalités de point de contrôle. Pour plus de détails, veuillez visiter directement le référentiel FinMem.
Si vous utilisez PIXIU dans votre travail, veuillez citer notre article.
@misc{xie2023pixiu,
title={PIXIU: A Large Language Model, Instruction Data and Evaluation Benchmark for Finance},
author={Qianqian Xie and Weiguang Han and Xiao Zhang and Yanzhao Lai and Min Peng and Alejandro Lopez-Lira and Jimin Huang},
year={2023},
eprint={2306.05443},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@misc{xie2024FinBen,
title={The FinBen: An Holistic Financial Benchmark for Large Language Models},
author={Qianqian Xie and Weiguang Han and Zhengyu Chen and Ruoyu Xiang and Xiao Zhang and Yueru He and Mengxi Xiao and Dong Li and Yongfu Dai and Duanyu Feng and Yijing Xu and Haoqiang Kang and Ziyan Kuang and Chenhan Yuan and Kailai Yang and Zheheng Luo and Tianlin Zhang and Zhiwei Liu and Guojun Xiong and Zhiyang Deng and Yuechen Jiang and Zhiyuan Yao and Haohang Li and Yangyang Yu and Gang Hu and Jiajia Huang and Xiao-Yang Liu and Alejandro Lopez-Lira and Benyou Wang and Yanzhao Lai and Hao Wang and Min Peng and Sophia Ananiadou and Jimin Huang},
year={2024},
eprint={2402.12659},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
PIXIU est sous licence [MIT]. Pour plus de détails, veuillez consulter le fichier MIT.