Pixiu-Papier |. FinBen-Rangliste
Haftungsausschluss
Dieses Repository und seine Inhalte werden ausschließlich zu akademischen und pädagogischen Zwecken bereitgestellt. Es werden keine ausdrücklichen oder stillschweigenden Garantien für die Richtigkeit, Vollständigkeit oder Nützlichkeit des Inhalts übernommen und Mitwirkende haften nicht für Fehler, Auslassungen oder Konsequenzen, die sich aus der Verwendung der hierin enthaltenen Informationen ergeben. Benutzer sollten ihr eigenes Urteilsvermögen walten lassen und Fachleute konsultieren, bevor sie finanzielle, rechtliche oder Investitionsentscheidungen treffen in diesem Repository enthalten ist erfolgt ausschließlich auf eigenes Risiko des Benutzers.
Durch die Nutzung oder den Zugriff auf die Informationen in diesem Repository erklären Sie sich damit einverstanden, die Autoren, Mitwirkenden und alle angeschlossenen Organisationen oder Personen von allen Ansprüchen oder Schäden freizustellen, zu verteidigen und schadlos zu halten.
? Update (Datum: 22.09.2023)
Wir freuen uns, Ihnen mitteilen zu können, dass unser Papier „PIXIU: A Comprehensive Benchmark, Instruction Dataset and Large Language Model for Finance“ von NeurIPS 2023 Track Datasets and Benchmarks angenommen wurde!
? Update (Datum: 10.08.2023)
?Wir sind stolz, Ihnen mitteilen zu können, dass die erweiterten Versionen von FinBen jetzt sowohl Chinesisch als auch Spanisch unterstützen!
? Update (Datum: 20.02.2024)
?Wir freuen uns, Ihnen mitteilen zu können, dass unser Papier „The FinBen: An Holistic Financial Benchmark for Large Language Models“ jetzt bei FinBen erhältlich ist.
? Update (Datum: 05.02.2024)
?Wir freuen uns, Sie zur IJCAI2024-Challenge „Financial Challenges in Large Language Models – FinLLM“ einzuladen. Das Starter-Kit ist unter Starter-kit erhältlich.
Kontrollpunkte:
Sprachen
Papiere
Bewertungen :
Stimmungsanalyse
Einstufung
Wissensextraktion
Zahlenverständnis
Textzusammenfassung
Bonitätsbewertung
Prognose
Willkommen beim PIXIU -Projekt! Dieses Projekt soll die Entwicklung, Feinabstimmung und Bewertung von Large Language Models (LLMs) im Finanzbereich unterstützen und ist ein wichtiger Schritt zum Verständnis und zur Nutzung der Leistungsfähigkeit von LLMs im Finanzbereich . .
Das Repository ist in mehrere Schlüsselkomponenten unterteilt, von denen jede einen einzigartigen Zweck in der finanziellen NLP-Pipeline erfüllt:
FinBen : Unser Benchmark zur Bewertung von Finanzsprachen und -vorhersagen. FinBen dient als Bewertungssuite für Finanz-LLMs mit Schwerpunkt auf Verständnis- und Vorhersageaufgaben in verschiedenen Finanzkontexten.
FIT : Unser Financial Instruction Dataset ist ein multitaskiger und multimodaler Instruktionsdatensatz, der speziell auf Finanzaufgaben zugeschnitten ist. Er dient als Trainingsgrundlage für die Feinabstimmung von LLMs für diese Aufgaben.
FinMA : Unser Financial Large Language Model (LLM) ist der Kern unseres Projekts und bietet die Lern- und Vorhersagekraft für unsere Finanzaufgaben.
Offene Ressourcen : PIXIU stellt das finanzielle LLM, die Daten zur Unterrichtsoptimierung und die im Bewertungsbenchmark enthaltenen Datensätze offen zur Verfügung, um offene Forschung und Transparenz zu fördern.
Multitasking : Die Anweisungsoptimierungsdaten und der Benchmark in PIXIU decken eine Vielzahl von Finanzaufgaben ab, darunter vier Finanz-NLP-Aufgaben und eine Finanzvorhersageaufgabe.
Multimodalität : Die Instruktionsoptimierungsdaten und der Benchmark von PIXIU bestehen aus multimodalen Finanzdaten, einschließlich Zeitreihendaten aus der Aufgabe zur Vorhersage von Aktienbewegungen. Sie decken verschiedene Arten von Finanztexten ab, darunter Berichte, Nachrichtenartikel, Tweets und behördliche Unterlagen.
Vielfalt : Im Gegensatz zu früheren Benchmarks, die sich hauptsächlich auf finanzielle NLP-Aufgaben konzentrierten, umfasst der Bewertungsbenchmark von PIXIU kritische Finanzvorhersageaufgaben, die an realen Szenarien ausgerichtet sind, was ihn anspruchsvoller macht.
In diesem Abschnitt bieten wir eine detaillierte Leistungsanalyse von FinMA im Vergleich zu anderen führenden Modellen, darunter ChatGPT, GPT-4 und BloombergGPT et al. Für diese Analyse haben wir eine Reihe von Aufgaben und Kennzahlen ausgewählt, die verschiedene Aspekte des Finanzwesens abdecken Alle Modellergebnisse von FinBen finden Sie in unserer Bestenliste!
Daten | Aufgabe | Roh | Datentypen | Modalitäten | Lizenz | Papier |
---|---|---|---|---|---|---|
FPB | Stimmungsanalyse | 4.845 | Nachricht | Text | CC BY-SA 3.0 | [1] |
FiQA-SA | Stimmungsanalyse | 1.173 | Schlagzeilen, Tweets | Text | Öffentlich | [2] |
TSA | Stimmungsanalyse | 561 | Schlagzeilen | Text | CC BY-NC-SA 4.0 | [3] |
FOMC | Klassifikation „falkenhaft-taubenhaft“. | 496 | FOMC-Transkripte | Text | CC BY-NC 4.0 | [4] |
Schlagzeilen | Klassifizierung der Nachrichtenschlagzeilen | 11.412 | Schlagzeilen | Text | CC BY-SA 3.0 | [5] |
FinArg-ECC-Task1 | Klassifizierung der Argumenteinheit | 969 | Telefonkonferenz zu den Ergebnissen | Text | CC BY-NC-SA 4.0 | [6] |
FinArg-ECC-Task2 | Klassifizierung von Argumentbeziehungen | 690 | Telefonkonferenz zu den Ergebnissen | Text | CC BY-NC-SA 4.0 | [6] |
Multifin DE | Mehrklassenklassifizierung | 546 | Artikelüberschriften | Text | Öffentlich | [7] |
M&A | Klassifizierung der Geschäftsvollständigkeit | 500 | Nachrichtenartikel, Tweets | Text | Öffentlich | [8] |
MLESGEN | Identifizierung von ESG-Problemen | 300 | Nachrichtenartikel | Text | CC BY-NC-ND | [9] |
NER | Erkennung benannter Entitäten | 1.366 | finanzielle Vereinbarungen | Text | CC BY-SA 3.0 | [10] |
Feinere Best.-Nr | Erkennung benannter Entitäten | 1.080 | Nachrichtenartikel | Text | CC BY-NC 4.0 | [11] |
FinRED | Relationsextraktion | 1.070 | Anruftransaktionen verdienen | Text | Öffentlich | [12] |
FinCausual 2020 Aufgabe1 | kausale Klassifizierung | 8.630 | Nachrichtenartikel, SEC | Text | CC BY 4.0 | [13] |
FinCausual 2020 Aufgabe2 | Kausalerkennung | 226 | Nachrichtenartikel, SEC | Text | CC BY 4.0 | [13] |
FinQA | Fragebeantwortung | 8.281 | Ergebnisberichte | Text, Tabelle | MIT-Lizenz | [14] |
tQA | Fragebeantwortung | 1.670 | Finanzberichte | Text, Tabelle | MIT-Lizenz | [15] |
FxL | numerische Beschriftung | 318 | SEK | Text | Öffentlich | [16] |
FSRL | Token-Klassifizierung | 97 | Nachrichtenartikel | Text | MIT-Lizenz | [17] |
ECTSUM | Textzusammenfassung | 495 | Anruftransaktionen verdienen | Text | Öffentlich | [18] |
EDTSUM | Textzusammenfassung | 2000 | Nachrichtenartikel | Text | Öffentlich | [19] |
Deutsch | Bonitätsbewertung | 1000 | Kreditunterlagen | Tisch | CC BY 4.0 | [20] |
australisch | Bonitätsbewertung | 690 | Kreditunterlagen | Tisch | CC BY 4.0 | [einundzwanzig] |
Leihclub | Bonitätsbewertung | 1.3453 | Finanzinformationen | Tisch | CC0 1.0 | [zweiundzwanzig] |
BigData22 | Vorhersage der Aktienbewegung | 7.164 | Tweets, historische Preise | Text, Zeitreihe | Öffentlich | [dreiundzwanzig] |
ACL18 | Vorhersage der Aktienbewegung | 27.053 | Tweets, historische Preise | Text, Zeitreihe | MIT-Lizenz | [vierundzwanzig] |
CIKM18 | Vorhersage der Aktienbewegung | 4.967 | Tweets, historische Preise | Text, Zeitreihe | Öffentlich | [25] |
ConvFinQA | Beantwortung von Fragen mit mehreren Runden | 1.490 | Ergebnisberichte | Text, Tabelle | MIT-Lizenz | [26] |
Kreditkartenbetrug | Betrugserkennung | 11.392 | Finanzinformationen | Tisch | (DbCL) v1.0 | [zweiundzwanzig] |
ccBetrug | Betrugserkennung | 10.485 | Finanzinformationen | Tisch | Öffentlich | [zweiundzwanzig] |
Polieren | Identifizierung finanzieller Notlagen | 8.681 | Finanzstatusfunktionen | Tisch | CC BY 4.0 | [zweiundzwanzig] |
Taiwan Economic Journal | Identifizierung finanzieller Notlagen | 6.819 | Finanzstatusfunktionen | Tisch | CC BY 4.0 | [zweiundzwanzig] |
PortoSeguro | Anspruchsanalyse | 11.904 | Anspruchs- und Finanzinformationen | Tisch | Öffentlich | [zweiundzwanzig] |
Reiseversicherung | Anspruchsanalyse | 12.665 | Anspruchs- und Finanzinformationen | Tisch | (ODbL) v1.0 | [zweiundzwanzig] |
1. Pekka Malo, Ankur Sinha, Pekka Korhonen, Jyrki Wallenius und Pyry Takala 2014. Gute Schulden oder schlechte Schulden: Erkennung semantischer Orientierungen in Wirtschaftstexten 65, 4 (2014), 782 –796.
2. Macedo Maia, Siegfried Handschuh, André Freitas, Brian Davis, Ross McDermott, Manel Zarrouk und Alexandra Balahur 2018. WW'18 Open Challenge: Financial Opinion Mining und Fragenbeantwortung –1942.
3. Keith Cortis, André Freitas, Tobias Daudert, Manuela Hürlimann, Manel Zarrouk, Siegfried Handschuh und Brian Davis 2017. SemEval-2017 Aufgabe 5: Feinkörnige Stimmungsanalyse zu Finanz-Microblogs und Nachrichten zur semantischen Bewertung (SemEval-2017) , Seiten 519–535, Vancouver, Kanada Vereinigung für Computerlinguistik.
4. Agam Shah, Suvan Paturi und Sudheer Chava. 2023. Billion Dollar Words: A New Financial Dataset, Task & Market Analysis In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Band 1: Long Papers) , Seiten 6664–6679, Toronto, Kanada Vereinigung für Computerlinguistik.
5. Ankur Sinha und Tanmay Khandait. Auswirkungen von Nachrichten auf den Rohstoffmarkt: Datensatz und Ergebnisse in Advances in Information and Communication: Proceedings of the 2021 Future of Information and Communication Conference (FICC), Band 2. Springer, 589– 601.
6. Chen CC, Lin CY, Chiu CJ, et al. Überblick über die NTCIR-17 FinArg-1-Aufgabe: Feinkörniges Argumentverständnis in der Finanzanalyse[C]//Proceedings of the 17th NTCIR Conference on Evaluation of Information Access Technologies , Tokio, Japan 2023.
7. Rasmus Jørgensen, Oliver Brandt, Mareike Hartmann, Xiang Dai, Christian Igel und Desmond Elliott 2023. MultiFin: A Dataset for Multilingual Financial NLP In Findings of the Association for Computational Linguistics: EACL 2023 , Seiten 894–909, Dubrovnik , Kroatien. Verein für Computerlinguistik.
8. Yang, L., Kenny, EM, Ng, TL, Yang , Y., Smyth, B. & Dong, R. (2020). Linguistik .
9. Chung-Chi Chen, Yu-Min Tseng, Juyeon Kang, Anaïs Lhuissier, Min-Yuh Day, Teng-Tsai Tu und Hsin-Hsi Chen 2023. In Proceedings of the Fifth Workshop on Finanztechnologie und Verarbeitung natürlicher Sprache (FinNLP) und die zweite multimodale KI für Finanzprognosen (Muffin) .
10. Julio Cesar Salinas Alvarado, Karin Verspoor und Timothy Baldwin. Domänenanpassung der Erkennung benannter Entitäten zur Unterstützung der Kreditrisikobewertung. In Proceedings of the Australasian Language Technology Association Workshop 2015. 84–90.
11. Shah A, Vithani R, Gullapalli A, et al. Finer: Financial Named Entity Recognition Dataset und Weak-Supervision-Modell [J]
12. Sharma, Soumya et al. „FinRED: A Dataset for Relation Extraction in Financial Domain“.
13. Dominique Mariko, Hanna Abi-Akl, Estelle Labidurie, Stephane Durfort, Hugues De Mazancourt und Mahmoud El-Haj. Die gemeinsame Aufgabe zur Ermittlung der Kausalität von Finanzdokumenten (FinCausal 2020). Processing and MultiLing Financial Summarisation , Seiten 23–32, Barcelona, Spanien (Online).
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: Ein Datensatz zum numerischen Denken über Finanzdaten . In Tagungsband der Konferenz 2021 über empirische Methoden in der Verarbeitung natürlicher Sprache. 3697–3711.
15. Zhu, Fengbin, Wenqiang Lei, Youcheng Huang, Chao Wang, Shuo Zhang, Jiancheng Lv, Fuli Feng und Tat-Seng Chua „TAT-QA: Ein Benchmark zur Beantwortung von Fragen zu einer Mischung aus tabellarischen und textuellen Inhalten im Finanzwesen.“ ArXiv abs/2105.07624 (2021): n.
16. Soumya Sharma, Subhendu Khatuya, Manjunath Hegde, Afreen Shaikh, Koustuv Dasgupta, Pawan Goyal und Niloy Ganguly. In Findings of the Association for Computational Linguistics: ACL 2023 , Seiten 3550 –3561, Toronto, Kanada Association for Computational Linguistik.
17. Matthew Lamm, Arun Chaganty, Christopher D. Manning, Dan Jurafsky und Percy Liang. Textuelle Analogieanalyse : Was zwischen analogen Fakten geteilt und verglichen wird, Seiten 82–92, Brüssel, Belgien.
18. Rajdeep Mukherjee, Abhinav Bohra, Akash Banerjee, Soumya Sharma, Manjunath Hegde, Afreen Shaikh, Shivani Shrivastava, Koustuv Dasgupta, Niloy Ganguly, Saptarshi Ghosh und Pawan Goyal 2022. ECTSum: Ein neuer Benchmark-Datensatz für die Bullet-Point-Zusammenfassung von Long Verdienstprotokolle eingehen Tagungsband der Konferenz 2022 über empirische Methoden in der Verarbeitung natürlicher Sprache , Seiten 10893–10906, Abu Dhabi, Vereinigte Arabische Emirate, Vereinigung für Computerlinguistik.
19. Zhihan Zhou, Liqian Ma und Han Liu. Trade the Event: Corporate Events Detection for News-Based Event-Driven Trading In Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021 , Seiten 2114–2124, Online . Verein für Computerlinguistik.
20. Hofmann, Hans (1994).
21. Quinlan, Ross. Statlog (Australisches Kreditgenehmigungs-Repository).
22. Duanyu Feng, Yongfu Dai, Jimin Huang, Yifang Zhang, Qianqian Xie, Weiguang Han, Alejandro Lopez-Lira, Hao Wang. 2023. Viele stärken, wenige beeinflussen : Generalistische Kreditbewertung durch große Sprachmodelle. 2023): n.
23. Yejun Soun, Jaemin Yoo, Minyong Cho, Jihyeong Jeon und U Kang. Genaue Aktienbewegungsvorhersage mit selbstüberwachtem Lernen aus spärlichen lauten Tweets im Jahr 2022 IEEE International Conference on Big Data (Big Data, 1691). –1700.
24. Yumo Xu und Shay B Cohen. Vorhersage der Aktienbewegung anhand von Tweets und historischen Kursen. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Band 1: Long Papers).
25. Huizhe Wu, Wei Zhang, Weiwei Shen und Jun Wang. In Proceedings der 27. ACM International Conference on Information and Knowledge Management.
26. Zhiyu Chen, Shiyang Li, Charese Smiley, Zhiqiang Ma, Sameena Shah und William Yang Wang 2022. ConvFinQA: Exploring the Chain of Numerical Reasoning in Conversational Finance Question Answering Verarbeitung, Seiten 6279–6292, Abu Dhabi, Vereinigte Arabische Emirate für Computerlinguistik.
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
Der obige Befehl startet einen Docker-Container. Sie können docker_run.sh
an Ihre Umgebung anpassen. Wir stellen ein vorgefertigtes Image bereit, indem Sie sudo docker pull tothemoon/pixiu:latest
ausführen
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 " ]
Argumente erklären:
[]
bedeutet vernachlässigbare ArgumenteHF_HOME
: Huggingface-Cache-Verzeichnissshd_port
: SSHD-Port des Containers. Sie können ssh -i private_key -p $sshd_port root@$ip
ausführen, um eine Verbindung zum Container herzustellen. Der Standardwert ist 22001--rm
: Entfernen Sie den Container, wenn Sie den Container verlassen (z. B. CTRL + D
). Bitte laden Sie vor der Auswertung den BART-Checkpoint auf src/metrics/BARTScore/bart_score.pth
herunter.
Für eine automatisierte Auswertung folgen Sie bitte dieser Anleitung:
Huggingface-Transformator
Um ein auf dem HuggingFace Hub gehostetes Modell zu bewerten (z. B. finma-7b-full), verwenden Sie diesen Befehl:
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 "
Weitere Details finden Sie in der lm_eval-Dokumentation.
Bitte beachten Sie, dass die automatisierte Auswertung bei Aufgaben wie NER auf einem bestimmten Muster basiert. Dadurch können in Zero-Shot-Einstellungen möglicherweise keine relevanten Informationen extrahiert werden, was zu einer relativ geringeren Leistung im Vergleich zu früheren, von Menschen kommentierten Ergebnissen führt.
export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
python eval.py
--model gpt-4
--tasks flare_ner,flare_sm_acl,flare_fpb
So führen Sie das Inferenz-Backend aus:
bash scripts/run_interface.sh
Bitte passen Sie run_interface.sh entsprechend Ihren Umgebungsanforderungen an.
Zur Bewertung:
python data/ * /evaluate.py
Das Erstellen einer neuen Aufgabe für FinBen umfasst das Erstellen eines Huggingface-Datensatzes und die Implementierung der Aufgabe in einer Python-Datei. Dieser Leitfaden führt Sie durch jeden Schritt der Einrichtung einer neuen Aufgabe mithilfe des FinBen-Frameworks.
Ihr Datensatz sollte im folgenden Format erstellt werden:
{
"query" : "..." ,
"answer" : "..." ,
"text" : "..."
}
In diesem Format:
query
: Kombination aus Ihrer Eingabeaufforderung und Ihrem Textanswer
: Ihr EtikettFür Multiturn- Aufgaben (z. B.)
Für Klassifizierungsaufgaben (wie FPB (FinBen_fpb)) sollten zusätzliche Schlüssel definiert werden:
choices
: Satz Etikettengold
: Index des richtigen Labels in den Auswahlmöglichkeiten (Beginn bei 0)Für sequentielle Beschriftungsaufgaben (z. B. Finer Ord (FinBen_finer_ord)) sollten zusätzliche Schlüssel definiert werden:
label
: Liste der Token-Labels
token
: Liste der Token
Für extraktive Zusammenfassungsaufgaben (z. B. ECTSUM (FinBen_ectsum)) sollten zusätzliche Schlüssel definiert werden:
label
: Liste der SatzbezeichnungenFür abstrakte Zusammenfassungs- und Fragebeantwortungsaufgaben (z. B. EDTSUM (FinBen_edtsum)) sollten keine zusätzlichen Schlüssel definiert werden
Sobald Ihr Datensatz fertig ist, können Sie mit der Implementierung Ihrer Aufgabe beginnen. Ihre Aufgabe sollte in einer neuen Klasse in Flare.py oder einer anderen Python-Datei im Aufgabenverzeichnis definiert werden.
Um einer Reihe von Aufgaben gerecht zu werden, bieten wir mehrere spezialisierte Basisklassen an, darunter Classification
, SequentialLabeling
, RelationExtraction
, ExtractiveSummarization
, AbstractiveSummarization
und QA
.
Wenn Sie beispielsweise mit einer Klassifizierungsaufgabe beginnen, können Sie unsere Basisklasse Classification
direkt nutzen. Um dies besser zu veranschaulichen, schauen wir uns ein Beispiel für die Erstellung einer Aufgabe namens FinBen-FPB an die Classification
:
class flareFPB ( Classification ):
DATASET_PATH = "flare-fpb"
Und das war’s! Sobald Sie Ihre Task-Klasse erstellt haben, müssen Sie sie im nächsten Schritt in der Datei src/tasks/__init__.py
registrieren. Fügen Sie dazu eine neue Zeile im Format "task_name": module.ClassName
. So wird es gemacht:
TASK_REGISTRY = {
"flare_fpb" : flare . FPB ,
"your_new_task" : your_module . YourTask , # This is where you add your task
}
Aufgabe | Metrisch | Illustration |
---|---|---|
Einstufung | Genauigkeit | Diese Metrik stellt das Verhältnis der korrekt vorhergesagten Beobachtungen zur Gesamtzahl der Beobachtungen dar. Sie wird als (True Positives + True Negatives) / Gesamtbeobachtungen berechnet. |
Einstufung | F1-Ergebnis | Der F1-Score stellt das harmonische Mittel aus Präzision und Erinnerung dar und schafft so ein Gleichgewicht zwischen diesen beiden Faktoren. Er erweist sich insbesondere in Szenarien als nützlich, in denen ein Faktor wichtiger ist als der andere. Der Score reicht von 0 bis 1, wobei 1 perfekte Präzision bedeutet und Erinnerung, und 0 gibt den schlimmsten Fall an. Darüber hinaus bieten wir sowohl „gewichtete“ als auch „makro“-Versionen des F1-Scores. |
Einstufung | Fehlendes Verhältnis | Diese Metrik berechnet den Anteil der Antworten, bei denen keine Optionen aus den gegebenen Auswahlmöglichkeiten in der Aufgabe zurückgegeben werden. |
Einstufung | Matthews-Korrelationskoeffizient (MCC) | Der MCC ist eine Metrik, die die Qualität binärer Klassifizierungen bewertet und einen Wert zwischen -1 und +1 ergibt. Ein Wert von +1 bedeutet eine perfekte Vorhersage, 0 bedeutet eine Vorhersage, die nicht besser als eine zufällige Chance ist, und -1 bedeutet eine völlig umgekehrte Vorhersage Vorhersage. |
Sequentielle Kennzeichnung | F1-Ergebnis | Im Zusammenhang mit sequentiellen Kennzeichnungsaufgaben verwenden wir den von der seqeval -Bibliothek berechneten F1-Score, eine robuste Bewertungsmetrik auf Entitätsebene. Diese Metrik erfordert eine genaue Übereinstimmung sowohl der Entitätsspanne als auch des Entitätstyps zwischen den vorhergesagten und den Ground-Truth-Entitäten für a Richtige Auswertung (True Positives, TP) stellen korrekt vorhergesagte Entitäten dar, Falsch Positive (FP) bezeichnen falsch vorhergesagte Entitäten oder Entitäten mit nicht übereinstimmenden Spannen/Typen, und Falsch Negative (FN) bedeuten übersehene Entitäten aus dem Mithilfe dieser Größen werden dann Präzision, Rückruf und F1-Score berechnet, wobei der F1-Score das harmonische Mittel aus Präzision und Rückruf darstellt. |
Sequentielle Kennzeichnung | Beschriften Sie den F1-Score | Diese Metrik bewertet die Modellleistung ausschließlich auf der Grundlage der Richtigkeit der vorhergesagten Beschriftungen, ohne Berücksichtigung von Entitätsspannen. |
Beziehungsextraktion | Präzision | Die Präzision misst den Anteil korrekt vorhergesagter Beziehungen an allen vorhergesagten Beziehungen. Sie wird als Anzahl der True Positives (TP) dividiert durch die Summe der True Positives und False Positives (FP) berechnet. |
Beziehungsextraktion | Abrufen | Recall misst den Anteil der korrekt vorhergesagten Beziehungen an allen tatsächlichen Beziehungen. Er wird als Anzahl der True Positives (TP) dividiert durch die Summe der True Positives und False Negatives (FN) berechnet. |
Beziehungsextraktion | F1-Ergebnis | Der F1-Score ist das harmonische Mittel aus Präzision und Erinnerung und stellt ein Gleichgewicht zwischen diesen beiden Metriken dar. Der F1-Score ist am besten bei 1 (perfekte Präzision und Erinnerung) und am schlechtesten bei 0. |
Extraktive und abstrakte Zusammenfassung | Rouge-N | Dies misst die Überlappung von N-Grammen (einer zusammenhängenden Folge von N Elementen aus einer bestimmten Textprobe) zwischen der vom System generierten Zusammenfassung und der Referenzzusammenfassung. „N“ kann 1, 2 oder mehr sein, mit ROUGE-1 und ROUGE-2 wird üblicherweise zur Beurteilung von Unigramm- bzw. Bigramm-Überlappungen verwendet. |
Extraktive und abstrakte Zusammenfassung | Rouge-L | Diese Metrik wertet die längste gemeinsame Teilsequenz (LCS) zwischen dem System und den Referenzzusammenfassungen aus. LCS berücksichtigt auf natürliche Weise die Strukturähnlichkeit auf Satzebene und identifiziert automatisch die längsten gleichzeitig auftretenden n-Gramme. |
Beantwortung von Fragen | EMACC | EMACC bewertet die genaue Übereinstimmung zwischen der modellgenerierten Antwort und der Referenzantwort. Mit anderen Worten: Die modellgenerierte Antwort gilt nur dann als korrekt, wenn sie Wort für Wort genau mit der Referenzantwort übereinstimmt. |
Darüber hinaus können Sie bestimmen, ob die Beschriftungen während des Abgleichvorgangs in Kleinbuchstaben geschrieben werden sollen, indem Sie
LOWER_CASE
in Ihrer Klassendefinition angeben. Dies ist relevant, da die Beschriftungen auf der Grundlage ihres Erscheinungsbilds in der generierten Ausgabe abgeglichen werden, z. B. bei Untersuchungen, bei denen es sich um einen bestimmten Satz handelt Bei Großbuchstaben wie „A“, „B“, „C“ sollte dies normalerweise auf „Falsch“ gesetzt werden.
Unser Befehlsdatensatz ist speziell auf das domänenspezifische LLM, FinMA, zugeschnitten. Dieser Datensatz wurde sorgfältig zusammengestellt, um unser Modell auf eine Vielzahl von Finanzaufgaben abzustimmen. Er enthält öffentlich verfügbare Multitasking- und multimodale Daten, die daraus abgeleitet wurden mehrere offene freigegebene Finanzdatensätze.
Der Datensatz ist vielfältig und umfasst Aufgaben wie die Stimmungsanalyse, die Klassifizierung von Nachrichtenschlagzeilen, die Erkennung benannter Entitäten, die Beantwortung von Fragen und die Vorhersage von Aktienbewegungen und bietet eine große Vielfalt an Finanzdaten Spezifische Anweisungsaufforderungen für jede Aufgabe wurden von Fachexperten sorgfältig entwickelt.
Die folgende Tabelle fasst die verschiedenen Aufgaben, ihre entsprechenden Modalitäten, Texttypen und Beispiele der für jede Aufgabe verwendeten Anweisungen zusammen:
Aufgabe | Modalitäten | Texttypen | AnleitungBeispiele |
---|---|---|---|
Stimmungsanalyse | Text | Schlagzeilen, Tweets | „Analysieren Sie die Stimmung dieser Aussage aus einem Finanznachrichtenartikel. Geben Sie Ihre Antwort entweder als negativ, positiv oder neutral an. Beispielsweise würde „Die Aktien des Unternehmens sind nach dem Skandal stark eingebrochen.“ |
Klassifizierung der Nachrichtenschlagzeilen | Text | Schlagzeilen | „Überlegen Sie, ob in der Schlagzeile der Goldpreis erwähnt wird. Gibt es einen Preis auf dem Goldrohstoffmarkt, der in der Schlagzeile angegeben ist? Bitte antworten Sie mit „Ja“ oder „Nein.“ |
Anerkennung benannter Entitäten | Text | finanzielle Vereinbarungen | „Identifizieren Sie in den Sätzen, die aus Finanzvereinbarungen in US-SEC-Einreichungen extrahiert werden, die benannten Entitäten, die eine Person („PER“), eine Organisation („ORG“) oder einen Standort („LOC“) repräsentieren. Das erforderliche Antwortformat ist: „Entitätsname, Entitätstyp“ wären zum Beispiel: „Elon Musk, CEO von SpaceX, kündigte den Start von Cape Canaveral an“; |
Beantwortung von Fragen | Text | Ergebnisberichte | „Im Zusammenhang mit dieser Reihe miteinander verbundener finanzbezogener Anfragen und den zusätzlichen Informationen, die durch den Vorwand, die Tabellendaten und den Beitragstext aus den Finanzunterlagen eines Unternehmens bereitgestellt werden, geben Sie bitte eine Antwort auf die letzte Frage. Dies erfordert möglicherweise das Extrahieren von Informationen aus dem Kontext und Durchführung mathematischer Berechnungen Bitte berücksichtigen Sie bei der Formulierung Ihrer Antwort die Informationen in den vorangegangenen Fragen und deren Antworten: |
Vorhersage der Aktienbewegung | Text, Zeitreihe | Tweets, Aktienkurse | „Analysieren Sie die Informationen und Social-Media-Beiträge, um festzustellen, ob der Schlusskurs von {tid} am {point} steigen oder fallen wird. Bitte antworten Sie entweder mit Anstieg oder Fall.“ |
Der Datensatz enthält eine große Menge an Instruktionsdatenbeispielen (136.000), sodass die FinMA die Nuancen der verschiedenen Finanzaufgaben erfassen kann. Die folgende Tabelle enthält die statistischen Details des Instruktionsdatensatzes:
Daten | Aufgabe | Roh | Anweisung | Datentypen | Modalitäten | Lizenz | Originalpapier |
---|---|---|---|---|---|---|---|
FPB | Stimmungsanalyse | 4.845 | 48.450 | Nachricht | Text | CC BY-SA 3.0 | [1] |
FiQA-SA | Stimmungsanalyse | 1.173 | 11.730 | Schlagzeilen, Tweets | Text | Öffentlich | [2] |
Überschrift | Klassifizierung der Nachrichtenschlagzeilen | 11.412 | 11.412 | Schlagzeilen | Text | CC BY-SA 3.0 | [3] |
NER | Erkennung benannter Entitäten | 1.366 | 13.660 | finanzielle Vereinbarungen | Text | CC BY-SA 3.0 | [4] |
FinQA | Fragebeantwortung | 8.281 | 8.281 | Ergebnisberichte | Text, Tabelle | MIT-Lizenz | [5] |
ConvFinQA | Fragebeantwortung | 3.892 | 3.892 | Ergebnisberichte | Text, Tabelle | MIT-Lizenz | [6] |
BigData22 | Vorhersage der Aktienbewegung | 7.164 | 7.164 | Tweets, historische Preise | Text, Zeitreihe | Öffentlich | [7] |
ACL18 | Vorhersage der Aktienbewegung | 27.053 | 27.053 | Tweets, historische Preise | Text, Zeitreihe | MIT-Lizenz | [8] |
CIKM18 | Vorhersage der Aktienbewegung | 4.967 | 4.967 | Tweets, historische Preise | Text, Zeitreihe | Öffentlich | [9] |
Wenn Sie mit dem Financial Instruction Dataset (FIT) arbeiten, ist es wichtig, das vorgeschriebene Format für Trainings- und Testmodelle einzuhalten.
Das Format sollte so aussehen:
{
"id" : " unique id " ,
"conversations" : [
{
"from" : " human " ,
"value" : " Your prompt and text "
},
{
"from" : " agent " ,
"value" : " Your answer "
}
],
"text" : " Text to be classified " ,
"label" : " Your label "
}
Hier ist, was jedes Feld bedeutet:
Die erste Runde in der Liste „Gespräche“ sollte immer von „Mensch“ stammen und Ihre Eingabeaufforderung und den Text enthalten. Die zweite Runde sollte von „Agent“ stammen und Ihre Antwort enthalten.
Wir freuen uns, die erste Version von FinMA vorstellen zu können, die drei Modelle enthält: FinMA-7B, FinMA-7B-full, FinMA-30B, fein abgestimmt auf LLaMA 7B und FinMA-7B und FinMA-30B NLP-Befehlsdaten, während FinMA-7B-full mit den vollständigen Befehlsdaten von FIT trainiert wird, die sowohl NLP- als auch Vorhersageaufgaben abdecken.
FinMA v0.1 ist jetzt auf Huggingface zur öffentlichen Nutzung verfügbar. Wir freuen uns auf die wertvollen Beiträge, die diese erste Version zum Bereich Finanz-NLP leisten wird, und ermutigen Benutzer, sie auf verschiedene Finanzaufgaben und -szenarien anzuwenden. Wir laden auch zu Feedback ein Erfahrungen, um zukünftige Versionen zu verbessern.
Kommt bald.
FinMem ist ein neuartiges LLM-basiertes Agenten-Framework, das für die finanzielle Entscheidungsfindung entwickelt wurde und drei Kernmodule umfasst: Profilerstellung, um die Eigenschaften des Agenten zu skizzieren, mit mehrschichtiger Verarbeitung, um dem Agenten bei der Aufnahme realistischer hierarchischer Finanzdaten und Entscheidungsfindung zu helfen; , um aus Erinnerungen gewonnene Erkenntnisse in Anlageentscheidungen umzuwandeln. Derzeit kann FinMem nach einem einfachen Aufwärmmodus einzelne Aktien mit hohen Renditen handeln. Nachfolgend finden Sie einen Schnellstart für ein Docker-Versions-Framework, mit TSLA als Beispiel Eingang.
Schritt 1: Legen Sie Umgebungsvariablen in .env
fest und fügen Sie nach Bedarf HUGGINGFACE TOKEN und OPENAI API KEY hinzu.
OPENAI_API_KEY = " <Your OpenAI Key> "
HF_TOKEN = " <Your HF token> "
Schritt 2: Endpunkt-URL in config.toml
festlegen. Verwenden Sie die Endpunkt-URL, um Modelle basierend auf dem Modell Ihrer Wahl bereitzustellen (OPENAI, Gemini, Open-Source-Modelle auf HuggingFace usw.). Für Open-Source-Modelle auf HuggingFace gibt es eine Auswahl zum Generieren von TGI Endpunkte erfolgen über RunPod.
[chat]
model = " tgi "
end_point = " <set the your endpoint address> "
tokenization_model_name = " <model name> "
...
Schritt 3: Erstellen Sie ein Docker-Image und einen Container
docker build -t test-finmem .devcontainer/.
Startcontainer:
docker run -it --rm -v $( pwd ) :/finmem test-finmem bash
Schritt 4: Simulation starten!
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. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Beispielverwendung:
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
Es gibt auch Checkpoint-Funktionen. Weitere Informationen finden Sie direkt im FinMem Repository.
Wenn Sie PIXIU in Ihrer Arbeit verwenden, zitieren Sie bitte unser Papier.
@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 ist unter [MIT] lizenziert. Weitere Informationen finden Sie in der MIT-Datei.