Kertas Pixiu |. Papan Peringkat FinBen
Penafian
Repositori ini dan isinya disediakan untuk tujuan akademis dan pendidikan saja . Tidak ada materi yang merupakan nasihat keuangan, hukum, atau investasi. Tidak ada jaminan, tersurat maupun tersirat, yang ditawarkan mengenai keakuratan, kelengkapan, atau kegunaan konten Para penulis dan kontributor tidak bertanggung jawab atas kesalahan, kelalaian, atau konsekuensi apa pun yang timbul dari penggunaan informasi di sini. Pengguna harus mengambil keputusan sendiri dan berkonsultasi dengan profesional sebelum membuat keputusan keuangan, hukum, atau investasi apa pun dalam penggunaan perangkat lunak dan informasi terkandung dalam repositori ini adalah sepenuhnya risiko pengguna sendiri.
Dengan menggunakan atau mengakses informasi dalam repositori ini, Anda setuju untuk mengganti kerugian, membela, dan membebaskan penulis, kontributor, dan organisasi atau orang afiliasi mana pun dari setiap dan seluruh klaim atau kerusakan.
? Pembaruan (Tanggal: 22-09-2023)
Kami sangat senang mengumumkan bahwa makalah kami, "PIXIU: Tolok Ukur Komprehensif, Kumpulan Data Instruksi, dan Model Bahasa Besar untuk Keuangan", telah diterima oleh Kumpulan Data dan Tolok Ukur NeurIPS 2023!
? Pembaruan (Tanggal: 10-08-2023)
? Kami bangga menyampaikan bahwa versi FinBen yang disempurnakan, yang kini mendukung bahasa Mandarin dan Spanyol!
? Pembaruan (Tanggal: 20-02-2024)
? Kami dengan senang hati menyampaikan bahwa makalah kami, "The FinBen: An Holistic Financial Benchmark for Large Language Models", kini tersedia di FinBen.
? Pembaruan (Tanggal: 05-02-2024)
? Kami dengan senang hati mengundang Anda untuk menghadiri tantangan IJCAI2024, "Tantangan Finansial dalam Model Bahasa Besar - FinLLM", starter-kit tersedia di Starter-kit.
Pos pemeriksaan:
Bahasa
Dokumen
Evaluasi :
Analisis Sentimen
Klasifikasi
Ekstraksi Pengetahuan
Pemahaman Angka
Peringkasan Teks
Penilaian Kredit
Peramalan
Selamat datang di proyek PIXIU ! Proyek ini dirancang untuk mendukung pengembangan, penyesuaian, dan evaluasi Model Bahasa Besar (LLM) dalam domain keuangan. PIXIU merupakan langkah signifikan menuju pemahaman dan pemanfaatan kekuatan LLM dalam domain keuangan .
Repositori ini disusun menjadi beberapa komponen utama, masing-masing memiliki tujuan unik dalam jalur NLP keuangan:
FinBen : Tolok Ukur Pemahaman dan Evaluasi Prediksi Bahasa Keuangan kami. FinBen berfungsi sebagai rangkaian evaluasi untuk LLM keuangan, dengan fokus pada tugas pemahaman dan prediksi di berbagai konteks keuangan.
FIT : Kumpulan Data Instruksi Keuangan kami. FIT adalah kumpulan data instruksi multi-tugas dan multi-modal yang dirancang khusus untuk tugas-tugas keuangan. Ini berfungsi sebagai tempat pelatihan untuk menyempurnakan LLM untuk tugas-tugas ini.
FinMA : Financial Large Language Model (LLM) kami. FinMA adalah inti dari proyek kami, memberikan kekuatan pembelajaran dan prediksi untuk tugas keuangan kami.
Sumber daya terbuka : PIXIU secara terbuka menyediakan LLM keuangan, data penyetelan instruksi, dan kumpulan data yang disertakan dalam tolok ukur evaluasi untuk mendorong penelitian terbuka dan transparansi.
Multi-tugas : Data penyetelan instruksi dan tolok ukur di PIXIU mencakup beragam tugas keuangan, termasuk empat tugas NLP keuangan dan satu tugas prediksi keuangan.
Multi-modalitas : Data penyetelan instruksi dan tolok ukur PIXIU terdiri dari data keuangan multi-modalitas, termasuk data deret waktu dari tugas prediksi pergerakan saham. Ini mencakup berbagai jenis teks keuangan, termasuk laporan, artikel berita, tweet, dan pengajuan peraturan.
Keberagaman : Tidak seperti tolok ukur sebelumnya yang berfokus terutama pada tugas-tugas NLP keuangan, tolok ukur evaluasi PIXIU mencakup tugas-tugas prediksi keuangan penting yang selaras dengan skenario dunia nyata, sehingga membuatnya lebih menantang.
Di bagian ini, kami memberikan analisis kinerja FinMA secara mendetail dibandingkan dengan model terkemuka lainnya, termasuk ChatGPT, GPT-4, dan BloombergGPT dkk Pemrosesan Bahasa Alami dan prediksi keuangan. Semua hasil model FinBen dapat ditemukan di papan peringkat kami!
Data | Tugas | Mentah | Tipe Data | Modalitas | Lisensi | Kertas |
---|---|---|---|---|---|---|
FPB | analisis sentimen | 4.845 | berita | teks | CC BY-SA 3.0 | [1] |
FiQA-SA | analisis sentimen | 1.173 | judul berita, tweet | teks | Publik | [2] |
TSA | analisis sentimen | 561 | berita utama | teks | CC BY-NC-SA 4.0 | [3] |
FOMC | klasifikasi hawkish-dovish | 496 | Transkrip FOMC | teks | CC BY-NC 4.0 | [4] |
Berita utama | klasifikasi judul berita | 11.412 | berita utama | teks | CC BY-SA 3.0 | [5] |
FinArg-ECC-Tugas1 | klasifikasi unit argumen | 969 | panggilan konferensi pendapatan | teks | CC BY-NC-SA 4.0 | [6] |
FinArg-ECC-Tugas2 | klasifikasi relasi argumen | 690 | panggilan konferensi pendapatan | teks | CC BY-NC-SA 4.0 | [6] |
Multifin EN | klasifikasi kelas jamak | 546 | judul artikel | teks | Publik | [7] |
merger dan akuisisi | klasifikasi kelengkapan kesepakatan | 500 | artikel berita, tweet | teks | Publik | [8] |
MLESGEN | Identifikasi Masalah LST | 300 | artikel berita | teks | CC BY-NC-ND | [9] |
Ner | pengenalan entitas bernama | 1.366 | perjanjian keuangan | teks | CC BY-SA 3.0 | [10] |
Orde yang Lebih Baik | pengenalan entitas bernama | 1.080 | artikel berita | teks | CC BY-NC 4.0 | [11] |
SiripRED | ekstraksi relasi | 1.070 | mendapatkan transaksi panggilan | teks | Publik | [12] |
Tugas FinCausual 20201 | klasifikasi kausal | 8.630 | artikel berita, SEC | teks | CC OLEH 4.0 | [13] |
Tugas FinCausual 20202 | deteksi sebab akibat | 226 | artikel berita, SEC | teks | CC OLEH 4.0 | [13] |
FinQA | menjawab pertanyaan | 8.281 | laporan pendapatan | teks, tabel | Lisensi MIT | [14] |
tQA | menjawab pertanyaan | 1.670 | laporan keuangan | teks, tabel | Lisensi MIT | [15] |
FxL | pelabelan numerik | 318 | DETIK | teks | Publik | [16] |
FSRL | klasifikasi token | 97 | artikel berita | teks | Lisensi MIT | [17] |
EKTSUM | ringkasan teks | 495 | mendapatkan transaksi panggilan | teks | Publik | [18] |
EDTSUM | ringkasan teks | 2000 | artikel berita | teks | Publik | [19] |
Jerman | penilaian kredit | 1000 | catatan kredit | meja | CC OLEH 4.0 | [20] |
Australia | penilaian kredit | 690 | catatan kredit | meja | CC OLEH 4.0 | [dua puluh satu] |
Klub Peminjaman | penilaian kredit | 1,3453 | informasi keuangan | meja | CC0 1.0 | [dua puluh dua] |
Data Besar22 | prediksi pergerakan saham | 7.164 | tweet, harga historis | teks, deret waktu | Publik | [dua puluh tiga] |
ACL18 | prediksi pergerakan saham | 27.053 | tweet, harga historis | teks, deret waktu | Lisensi MIT | [dua puluh empat] |
CIKM18 | prediksi pergerakan saham | 4.967 | tweet, harga historis | teks, deret waktu | Publik | [25] |
KonvFinQA | menjawab pertanyaan multi-putaran | 1.490 | laporan pendapatan | teks, tabel | Lisensi MIT | [26] |
Penipuan Kartu Kredit | Deteksi Penipuan | 11.392 | informasi keuangan | meja | (DbCL) v1.0 | [dua puluh dua] |
Penipuan cc | Deteksi Penipuan | 10.485 | informasi keuangan | meja | Publik | [dua puluh dua] |
Polandia | Identifikasi Kesulitan Keuangan | 8.681 | fitur status keuangan | meja | CC OLEH 4.0 | [dua puluh dua] |
Jurnal Ekonomi Taiwan | Identifikasi Kesulitan Keuangan | 6.819 | fitur status keuangan | meja | CC OLEH 4.0 | [dua puluh dua] |
PortoSeguro | Analisis Klaim | 11.904 | klaim dan informasi keuangan | meja | Publik | [dua puluh dua] |
Asuransi Perjalanan | Analisis Klaim | 12.665 | klaim dan informasi keuangan | meja | (ODbL) v1.0 | [dua puluh dua] |
1. Pekka Malo, Ankur Sinha, Pekka Korhonen, Jyrki Wallenius, dan Pyry Takala. 2014. Hutang baik atau hutang macet: Mendeteksi orientasi semantik dalam teks ekonomi. Jurnal Asosiasi Sains dan Teknologi Informasi 65, 4 (2014), 782 –796.
2. Macedo Maia, Siegfried Handschuh, André Freitas, Brian Davis, Ross McDermott, Manel Zarrouk, dan Alexandra Balahur. 2018. Tantangan terbuka Www'18: penambangan opini keuangan dan menjawab pertanyaan –1942.
3. Keith Cortis, André Freitas, Tobias Daudert, Manuela Huerlimann, Manel Zarrouk, Siegfried Handschuh, dan Brian Davis. 2017. SemEval-2017 Tugas 5: Analisis Sentimen Mendetail pada Mikroblog Keuangan dan Berita Dalam Prosiding Lokakarya Internasional ke-11 tentang Evaluasi Semantik (SemEval-2017) , halaman 519–535, Vancouver, Kanada. Asosiasi Linguistik Komputasi.
4. Agam Shah, Suvan Paturi, dan Sudheer Chava. 2023. Kata Triliun Dolar: Kumpulan Data Keuangan Baru, Tugas & Analisis Pasar. Dalam Prosiding Pertemuan Tahunan ke-61 Asosiasi Linguistik Komputasi (Volume 1: Makalah Panjang) , halaman 6664–6679, Toronto, Kanada. Asosiasi Linguistik Komputasi.
5. Ankur Sinha dan Tanmay Khandait. 2021. Dampak berita pada pasar komoditas: Kumpulan data dan hasil. Dalam Kemajuan Informasi dan Komunikasi: Prosiding Konferensi Informasi dan Komunikasi Masa Depan (FICC) 2021, Volume 2. Springer, 589– 601.
6. Chen CC, Lin CY, Chiu CJ, dkk. Ikhtisar NTCIR-17 FinArg-1 Tugas: Pemahaman argumen yang mendalam dalam analisis keuangan[C]//Prosiding Konferensi NTCIR ke-17 tentang Evaluasi Teknologi Akses Informasi , Tokyo, Jepang.
7. Rasmus Jørgensen, Oliver Brandt, Mareike Hartmann, Xiang Dai, Christian Igel, dan Desmond Elliott. 2023. MultiFin: Kumpulan Data untuk NLP Keuangan Multibahasa. Dalam Temuan Asosiasi Linguistik Komputasi: EACL 2023 , halaman 894–909, Dubrovnik , Kroasia. Asosiasi Linguistik Komputasi.
8. Yang, L., Kenny, EM, Ng, TL, Yang , Y., Smyth, B., & Dong, R. (2020). Menghasilkan Penjelasan Kontrafaktual yang Masuk Akal untuk Transformator Mendalam dalam Klasifikasi Teks Keuangan Linguistik .
9. Chung-Chi Chen, Yu-Min Tseng, Juyeon Kang, Anaïs Lhuissier , Min-Yuh Day, Teng-Tsai Tu, dan Hsin-Hsi Chen. 2023. Identifikasi masalah esg multibahasa Teknologi Keuangan dan Pemrosesan Bahasa Alami (FinNLP) dan AI Multimodal Kedua Untuk Peramalan Keuangan (Muffin) .
10. Julio Cesar Salinas Alvarado, Karin Verspoor, dan Timothy Baldwin. 2015. Adaptasi domain dari pengakuan entitas bernama untuk mendukung penilaian risiko kredit.
11. Shah A, Vithani R, Gullapalli A, dkk. Finer: Kumpulan data pengenalan entitas bernama keuangan dan model pengawasan lemah [J]. arXiv pracetak arXiv:2302.11157, 2023.
12. Sharma, Soumya dkk. “FinRED: Kumpulan Data untuk Ekstraksi Relasi dalam Domain Keuangan.” Prosiding Pendamping Konferensi Web 2022 (2022): n.
13. Dominique Mariko, Hanna Abi-Akl, Estelle Labidurie, Stephane Durfort, Hugues De Mazancourt, dan Mahmoud El-Haj. 2020. Tugas Bersama Deteksi Kausalitas Dokumen Keuangan (FinCausal 2020). Ringkasan Keuangan Pemrosesan dan MultiLing , halaman 23–32, Barcelona, Spanyol (Online).
14. Zhiyu Chen, Wenhu Chen, Charese Smiley, Sameena Shah, Iana Borova, Dylan Langdon, Reema Moussa, Matt Beane, Ting-Hao Huang, Bryan R Routledge, dkk. 2021. FinQA: Kumpulan Data Penalaran Numerik atas Data Keuangan .Dalam Prosiding Konferensi 2021 tentang Metode Empiris dalam Pemrosesan Bahasa Alami. 3697–3711.
15. Zhu, Fengbin, Wenqiang Lei, Youcheng Huang, Chao Wang, Shuo Zhang, Jiancheng Lv, Fuli Feng dan Tat-Seng Chua. “TAT-QA: Tolok Ukur Menjawab Pertanyaan pada Hibrida Konten Tabular dan Tekstual di bidang Keuangan.” ArXiv abs/2105.07624 (2021): hal.
16. Soumya Sharma, Subhendu Khatuya, Manjunath Hegde, Afreen Shaikh, Koustuv Dasgupta, Pawan Goyal, dan Niloy Ganguly. 2023. Pelabelan Ekstrim Numerik Keuangan: Kumpulan data dan pembandingan. Dalam Temuan Asosiasi Linguistik Komputasi: ACL 2023 , halaman 3550. –3561, Toronto, Kanada. Asosiasi Komputasi Ilmu bahasa.
17. Matthew Lamm, Arun Chaganty, Christopher D. Manning, Dan Jurafsky, dan Percy Liang. 2018. Penguraian Analogi Tekstual: Apa yang Dibagikan dan Apa yang Dibandingkan di Antara Fakta Analog. Dalam Prosiding Konferensi 2018 tentang Metode Empiris dalam Pemrosesan Bahasa Alami , halaman 82–92, Brussels, Belgia. Asosiasi Linguistik Komputasi.
18. Rajdeep Mukherjee, Abhinav Bohra, Akash Banerjee, Soumya Sharma, Manjunath Hegde, Afreen Shaikh, Shivani Shrivastava, Koustuv Dasgupta, Niloy Ganguly, Saptarshi Ghosh, dan Pawan Goyal 2022. ECTSum: Kumpulan Data Tolok Ukur Baru Untuk Ringkasan Poin-poin Panjang Transkrip Panggilan Pendapatan Prosiding Konferensi 2022 tentang Metode Empiris dalam Pemrosesan Bahasa Alami , halaman 10893–10906, Abu Dhabi, Uni Emirat Arab.
19. Zhihan Zhou, Liqian Ma, dan Han Liu. 2021. Perdagangan Acara: Deteksi Peristiwa Perusahaan untuk Perdagangan Berbasis Peristiwa Berbasis Berita. Dalam Temuan Asosiasi Linguistik Komputasi: ACL-IJCNLP 2021 , halaman 2114–2124, Online .Asosiasi Linguistik Komputasi.
20. Hofmann, Hans (1994).Statlog (Data Kredit Jerman).
21. Quinlan, Ross. Statlog (Persetujuan Kredit Australia).
22. Duanyu Feng, Yongfu Dai, Jimin Huang, Yifang Zhang, Qianqian Xie, Weiguang Han, Alejandro Lopez-Lira, Hao Wang. 2023. Memberdayakan Banyak Orang, Membiaskan Beberapa Orang : Penilaian Kredit Generalis melalui Model Bahasa Besar. 2023): hal.
23. Yejun Soun, Jaemin Yoo, Minyong Cho, Jihyeong Jeon, dan U Kang. 2022. Prediksi Pergerakan Saham yang Akurat dengan Pembelajaran yang Diawasi Sendiri dari Tweet Bising yang Jarang. Pada Konferensi Internasional IEEE tentang Big Data (Big Data), 1691 –1700.
24. Yumo Xu dan Shay B Cohen. 2018. Prediksi pergerakan saham dari tweet dan harga historis.
25. Huizhe Wu, Wei Zhang, Vivi Shen, dan Jun Wang. 2018. Pemodelan sekuensial mendalam hibrid untuk prediksi saham berbasis teks sosial. Dalam Prosiding konferensi internasional ACM ke-27 tentang manajemen informasi dan pengetahuan.
26. Zhiyu Chen, Shiyang Li, Charese Smiley, Zhiqiang Ma, Sameena Shah, dan William Yang Wang. 2022. ConvFinQA: Menjelajahi Rantai Penalaran Numerik dalam Menjawab Pertanyaan Keuangan Percakapan Pemrosesan, halaman 6279–6292, Abu Dhabi, Asosiasi Uni Emirat Arab untuk Linguistik Komputasi.
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
Perintah di atas memulai wadah buruh pelabuhan, Anda dapat memodifikasi docker_run.sh
agar sesuai dengan lingkungan Anda. Kami menyediakan gambar yang sudah dibuat sebelumnya dengan menjalankan 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 " ]
Argumen menjelaskan:
[]
berarti argumen yang bisa diabaikanHF_HOME
: direktori cache pelukansshd_port
: sshd port dari container, Anda dapat menjalankan ssh -i private_key -p $sshd_port root@$ip
untuk terhubung ke container, defaultnya adalah 22001--rm
: keluarkan container saat keluar dari container (mis. CTRL + D
) Sebelum evaluasi, silakan unduh BART checkpoint ke src/metrics/BARTScore/bart_score.pth
.
Untuk evaluasi otomatis, ikuti petunjuk berikut:
Transformator Wajah Memeluk
Untuk mengevaluasi model yang dihosting di HuggingFace Hub (misalnya, finma-7b-full), gunakan perintah ini:
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 "
Detail lebih lanjut dapat ditemukan di dokumentasi lm_eval.
Perlu diperhatikan, untuk tugas seperti NER, evaluasi otomatis didasarkan pada pola tertentu. Hal ini mungkin gagal dalam mengekstrak informasi yang relevan dalam pengaturan zero-shot, sehingga menghasilkan performa yang relatif lebih rendah dibandingkan dengan hasil yang dianotasi manusia sebelumnya.
export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
python eval.py
--model gpt-4
--tasks flare_ner,flare_sm_acl,flare_fpb
Untuk menjalankan backend inferensi:
bash scripts/run_interface.sh
Harap sesuaikan run_interface.sh sesuai dengan kebutuhan lingkungan Anda.
Untuk mengevaluasi:
python data/ * /evaluate.py
Membuat tugas baru untuk FinBen melibatkan pembuatan kumpulan data Huggingface dan mengimplementasikan tugas dalam file Python. Panduan ini memandu Anda melalui setiap langkah dalam menyiapkan tugas baru menggunakan kerangka kerja FinBen.
Kumpulan data Anda harus dibuat dalam format berikut:
{
"query" : "..." ,
"answer" : "..." ,
"text" : "..."
}
Dalam format ini:
query
: Kombinasi prompt dan teks Andaanswer
: Label AndaUntuk tugas Multi-putaran (seperti )
Untuk tugas Klasifikasi (seperti FPB (FinBen_fpb)), kunci tambahan harus ditentukan:
choices
: Kumpulan labelgold
: Indeks label yang benar dalam pilihan (Mulai dari 0)Untuk tugas Pelabelan Berurutan (seperti Finer Ord (FinBen_finer_ord)), kunci tambahan harus ditentukan:
label
: Daftar label token
token
: Daftar token
Untuk tugas Peringkasan Ekstraktif (seperti ECTSUM (FinBen_ectsum)), kunci tambahan harus ditentukan:
label
: Daftar label kalimatUntuk tugas Peringkasan abstrak dan Menjawab Pertanyaan (seperti EDTSUM (FinBen_edtsum)), tidak ada kunci tambahan yang harus ditentukan
Setelah kumpulan data Anda siap, Anda dapat mulai mengimplementasikan tugas Anda. Tugas Anda harus ditentukan dalam kelas baru di flare.py atau file Python lainnya yang terletak di dalam direktori tugas.
Untuk memenuhi berbagai tugas, kami menawarkan beberapa kelas dasar khusus, termasuk Classification
, SequentialLabeling
, RelationExtraction
, ExtractiveSummarization
, AbstractiveSummarization
dan QA
.
Misalnya, jika Anda memulai tugas klasifikasi, Anda dapat langsung memanfaatkan kelas dasar Classification
kami. Kelas ini memungkinkan pembuatan tugas yang efisien dan intuitif. Untuk mendemonstrasikannya dengan lebih baik, mari pelajari contoh pembuatan tugas bernama FinBen-FPB menggunakan kelas dasar Classification
:
class flareFPB ( Classification ):
DATASET_PATH = "flare-fpb"
Selesai! Setelah Anda membuat kelas tugas, langkah selanjutnya adalah mendaftarkannya di file src/tasks/__init__.py
. Untuk melakukannya, tambahkan baris baru dengan format "task_name": module.ClassName
. Inilah cara melakukannya:
TASK_REGISTRY = {
"flare_fpb" : flare . FPB ,
"your_new_task" : your_module . YourTask , # This is where you add your task
}
Tugas | Metrik | Ilustrasi |
---|---|---|
Klasifikasi | Ketepatan | Metrik ini mewakili rasio observasi yang diprediksi dengan benar terhadap total observasi. Metrik ini dihitung sebagai (Positif Sejati + Negatif Sejati) / Total Pengamatan. |
Klasifikasi | Skor F1 | Skor F1 mewakili rata-rata harmonik antara presisi dan perolehan, sehingga menciptakan keseimbangan antara kedua faktor ini. Skor ini terbukti sangat berguna dalam skenario di mana salah satu faktor mempunyai arti lebih penting dibandingkan yang lain. Skor tersebut berkisar antara 0 hingga 1, dengan 1 menandakan presisi sempurna dan recall, dan 0 menunjukkan kasus terburuk. Selain itu, kami menyediakan versi skor F1 yang 'tertimbang' dan 'makro'. |
Klasifikasi | Rasio Hilang | Metrik ini menghitung proporsi respons ketika tidak ada opsi dari pilihan yang diberikan dalam tugas yang dikembalikan. |
Klasifikasi | Koefisien Korelasi Matthews (MCC) | MCC adalah metrik yang menilai kualitas klasifikasi biner, menghasilkan skor mulai dari -1 hingga +1. Skor +1 menandakan prediksi sempurna, 0 menunjukkan prediksi tidak lebih baik dari peluang acak, dan -1 menunjukkan kebalikan sepenuhnya. ramalan. |
Pelabelan Berurutan | skor F1 | Dalam konteks tugas Pelabelan Berurutan, kami menggunakan Skor F1 yang dihitung oleh pustaka seqeval , metrik evaluasi tingkat entitas yang kuat. Metrik ini mengharuskan pencocokan tepat rentang dan jenis entitas antara entitas prediksi dan kebenaran dasar untuk a evaluasi yang benar. True Positives (TP) mewakili entitas yang diprediksi dengan benar, False Positives (FP) menunjukkan entitas yang diprediksi salah atau entitas dengan rentang/jenis yang tidak cocok, dan False Negatives (FN) menandakan entitas yang terlewat dari sistem. kebenaran dasar. Presisi, perolehan, dan skor F1 kemudian dihitung menggunakan kuantitas ini, dengan Skor F1 mewakili rata-rata harmonik dari presisi dan perolehan. |
Pelabelan Berurutan | Label skor F1 | Metrik ini mengevaluasi performa model hanya berdasarkan kebenaran label yang diprediksi, tanpa mempertimbangkan rentang entitas. |
Ekstraksi Relasi | Presisi | Presisi mengukur proporsi hubungan yang diprediksi dengan benar dari semua hubungan yang diprediksi. Presisi dihitung sebagai jumlah True Positives (TP) dibagi dengan jumlah True Positives dan False Positives (FP). |
Ekstraksi Relasi | Mengingat | Recall mengukur proporsi relasi yang diprediksi dengan benar dari seluruh relasi aktual. Hal ini dihitung sebagai jumlah True Positives (TP) dibagi dengan jumlah True Positives dan False Negatives (FN). |
Ekstraksi Relasi | skor F1 | Skor F1 adalah rata-rata harmonis dari presisi dan perolehan, dan memberikan keseimbangan antara kedua metrik ini. Skor F1 berada pada nilai terbaiknya pada 1 (presisi dan perolehan sempurna) dan terburuk pada 0. |
Peringkasan Ekstraktif dan Abstraktif | Merah-N | Ini mengukur tumpang tindih N-gram (urutan N item yang berdekatan dari sampel teks tertentu) antara ringkasan yang dihasilkan sistem dan ringkasan referensi. 'N' bisa berupa 1, 2, atau lebih, dengan ROUGE-1 dan ROUGE-2 biasanya digunakan untuk menilai tumpang tindih unigram dan bigram. |
Peringkasan Ekstraktif dan Abstraktif | Merah-L | Metrik ini mengevaluasi urutan umum terpanjang (LCS) antara sistem dan ringkasan referensi. LCS memperhitungkan kesamaan struktur tingkat kalimat secara alami dan mengidentifikasi n-gram urutan terlama secara otomatis. |
Menjawab Pertanyaan | EMACC | EMACC menilai kecocokan persis antara respons yang dihasilkan model dan jawaban referensi. Dengan kata lain, respons yang dihasilkan model dianggap benar hanya jika respons tersebut sama persis dengan jawaban referensi, kata demi kata. |
Selain itu, Anda dapat menentukan apakah label harus menggunakan huruf kecil selama proses pencocokan dengan menentukan
LOWER_CASE
dalam definisi kelas Anda. Hal ini relevan karena label dicocokkan berdasarkan tampilannya di keluaran yang dihasilkan dari huruf kapital seperti 'A', 'B', 'C', ini biasanya disetel ke False.
Kumpulan data instruksi kami dirancang secara unik untuk LLM khusus domain, FinMA. Kumpulan data ini telah disusun dengan cermat untuk menyempurnakan model kami pada beragam tugas keuangan. Dataset ini menampilkan data multitugas dan multimodal yang tersedia untuk umum yang berasal dari beberapa kumpulan data keuangan yang dirilis secara terbuka.
Kumpulan data ini memiliki banyak aspek, menampilkan tugas-tugas termasuk analisis sentimen, klasifikasi judul berita, pengenalan entitas bernama, menjawab pertanyaan, dan prediksi pergerakan saham. Ini mencakup modalitas data tekstual dan deret waktu, sehingga menawarkan beragam data keuangan petunjuk instruksi spesifik untuk setiap tugas telah didefinisikan dengan cermat oleh para ahli domain.
Tabel di bawah ini merangkum berbagai tugas, modalitas terkait, jenis teks, dan contoh instruksi yang digunakan untuk setiap tugas:
Tugas | Modalitas | Jenis Teks | Contoh Instruksi |
---|---|---|---|
Analisis Sentimen | Teks | berita utama, tweet | "Analisis sentimen pernyataan ini yang diambil dari artikel berita keuangan. Berikan jawaban Anda dalam bentuk negatif, positif, atau netral. Misalnya, 'Saham perusahaan anjlok setelah skandal tersebut.' |
Klasifikasi Judul Berita | Teks | Judul Berita | "Perhatikan apakah headline tersebut menyebutkan harga emas. Apakah ada Harga atau Tidak di pasar komoditas emas yang tertera di headline berita? Mohon dijawab Ya atau Tidak." |
Pengakuan Entitas Bernama | Teks | perjanjian keuangan | "Dalam kalimat yang diambil dari perjanjian keuangan dalam pengajuan US SEC, identifikasi nama entitas yang mewakili seseorang ('PER'), organisasi ('ORG'), atau lokasi ('LOC'). Format jawaban yang diperlukan adalah: 'nama entitas, jenis entitas'. Misalnya, dalam 'Elon Musk, CEO SpaceX, mengumumkan peluncuran dari Cape Canaveral.', entitasnya adalah: 'Elon Musk, PER; |
Menjawab Pertanyaan | Teks | laporan pendapatan | "Dalam konteks rangkaian pertanyaan terkait keuangan yang saling berhubungan dan informasi tambahan yang diberikan oleh kata depan, data tabel, dan teks posting dari pengajuan keuangan perusahaan, harap berikan tanggapan terhadap pertanyaan terakhir. Ini mungkin memerlukan penggalian informasi dari konteks dan melakukan perhitungan matematis. Harap pertimbangkan informasi yang diberikan dalam pertanyaan sebelumnya dan jawabannya saat merumuskan jawaban Anda:" |
Prediksi Pergerakan Saham | Teks, Rangkaian Waktu | tweet, Harga Saham | "Analisis informasi dan postingan media sosial untuk menentukan apakah harga penutupan {tid} akan naik atau turun di {point} . Harap tanggapi dengan Naik atau Turun." |
Kumpulan data berisi sejumlah besar sampel data instruksi (136K), memungkinkan FinMA menangkap nuansa beragam tugas keuangan. Tabel di bawah ini memberikan rincian statistik dari kumpulan data instruksi:
Data | Tugas | Mentah | Petunjuk | Tipe Data | Modalitas | Lisensi | Kertas Asli |
---|---|---|---|---|---|---|---|
FPB | analisis sentimen | 4.845 | 48.450 | berita | teks | CC BY-SA 3.0 | [1] |
FiQA-SA | analisis sentimen | 1.173 | 11.730 | judul berita, tweet | teks | Publik | [2] |
Judul | klasifikasi judul berita | 11.412 | 11.412 | berita utama | teks | CC BY-SA 3.0 | [3] |
Ner | pengenalan entitas bernama | 1.366 | 13.660 | perjanjian keuangan | teks | CC BY-SA 3.0 | [4] |
FinQA | menjawab pertanyaan | 8.281 | 8.281 | laporan pendapatan | teks, tabel | Lisensi MIT | [5] |
KonvFinQA | menjawab pertanyaan | 3.892 | 3.892 | laporan pendapatan | teks, tabel | Lisensi MIT | [6] |
Data Besar22 | prediksi pergerakan saham | 7.164 | 7.164 | tweet, harga historis | teks, deret waktu | Publik | [7] |
ACL18 | prediksi pergerakan saham | 27.053 | 27.053 | tweet, harga historis | teks, deret waktu | Lisensi MIT | [8] |
CIKM18 | prediksi pergerakan saham | 4.967 | 4.967 | tweet, harga historis | teks, deret waktu | Publik | [9] |
Saat Anda bekerja dengan Kumpulan Data Instruksi Keuangan (FIT), penting untuk mengikuti format yang ditentukan untuk model pelatihan dan pengujian.
Formatnya akan terlihat seperti ini:
{
"id" : " unique id " ,
"conversations" : [
{
"from" : " human " ,
"value" : " Your prompt and text "
},
{
"from" : " agent " ,
"value" : " Your answer "
}
],
"text" : " Text to be classified " ,
"label" : " Your label "
}
Berikut arti setiap bidang:
Giliran pertama dalam daftar "percakapan" harus selalu dari "manusia", dan berisi perintah dan teks Anda. Giliran kedua harus dari "agen", dan berisi jawaban Anda.
Kami dengan senang hati memperkenalkan versi pertama FinMA, termasuk tiga model FinMA-7B, FinMA-7B-full, FinMA-30B, yang disempurnakan pada LLaMA 7B dan LLaMA-30B yang dilatih dengan Data instruksi NLP, sedangkan FinMA-7B-full dilatih dengan data instruksi lengkap dari FIT yang mencakup tugas NLP dan prediksi.
FinMA v0.1 sekarang tersedia di Huggingface untuk penggunaan umum. Kami menantikan kontribusi berharga yang akan diberikan versi awal ini pada bidang NLP keuangan dan mendorong pengguna untuk menerapkannya pada berbagai tugas dan skenario keuangan pengalaman untuk membantu meningkatkan versi masa depan.
Segera hadir.
FinMem adalah kerangka kerja agen berbasis LLM baru yang dirancang untuk pengambilan keputusan keuangan, mencakup tiga modul inti: Pembuatan Profil, untuk menguraikan karakteristik agen; Memori, dengan pemrosesan berlapis, untuk membantu agen dalam mengasimilasi data keuangan hierarkis yang realistis; dan Pengambilan keputusan , untuk mengubah wawasan yang diperoleh dari ingatan menjadi keputusan investasi. Saat ini, FinMem dapat memperdagangkan saham tunggal dengan pengembalian tinggi setelah pemanasan mode sederhana. Di bawah ini adalah permulaan cepat untuk kerangka kerja versi docker, dengan TSLA sebagai sampel masukan.
Langkah 1: Tetapkan variabel lingkungan di .env
tambahkan HUGGINGFACE TOKEN dan OPENAI API KEY sesuai kebutuhan.
OPENAI_API_KEY = " <Your OpenAI Key> "
HF_TOKEN = " <Your HF token> "
Langkah 2: Tetapkan URL titik akhir di config.toml
Gunakan URL titik akhir untuk menerapkan model berdasarkan model pilihan (OPENAI, Gemini, model sumber terbuka di HuggingFace, dll.). Untuk model sumber terbuka di HuggingFace, satu pilihan untuk menghasilkan TGI titik akhir melalui RunPod.
[chat]
model = " tgi "
end_point = " <set the your endpoint address> "
tokenization_model_name = " <model name> "
...
Langkah 3: Bangun Gambar dan Kontainer Docker
docker build -t test-finmem .devcontainer/.
mulai wadah:
docker run -it --rm -v $( pwd ) :/finmem test-finmem bash
Langkah 4: Mulai Simulasi!
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. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Contoh Penggunaan:
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
Ada juga fungsi pos pemeriksaan. Untuk lebih jelasnya silakan kunjungi Repositori FinMem secara langsung.
Jika Anda menggunakan PIXIU dalam karya Anda, silakan kutip makalah kami.
@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 dilisensikan di bawah [MIT]. Untuk lebih jelasnya, silakan lihat file MIT.