Papel Pixiu | Clasificación de FinBen
Descargo de responsabilidad
Este repositorio y su contenido se proporcionan únicamente con fines académicos y educativos . Ningún material constituye asesoramiento financiero, legal o de inversión. No se ofrecen garantías, expresas o implícitas, con respecto a la exactitud, integridad o utilidad del contenido. y los contribuyentes no son responsables de ningún error, omisión o consecuencia que surja del uso de la información contenida en este documento. Los usuarios deben ejercer su propio criterio y consultar a los profesionales antes de tomar cualquier decisión financiera, legal o de inversión sobre el uso del software y la información. contenido en este repositorio es enteramente bajo el propio riesgo del usuario.
Al utilizar o acceder a la información de este repositorio, usted acepta indemnizar, defender y eximir de responsabilidad a los autores, contribuyentes y cualquier organización o persona afiliada de todos y cada uno de los reclamos o daños.
? Actualización (Fecha: 22-09-2023)
Estamos encantados de anunciar que nuestro artículo, "PIXIU: Un punto de referencia integral, un conjunto de datos de instrucción y un modelo de lenguaje amplio para las finanzas", ha sido aceptado por NeurIPS 2023 Track Datasets and Benchmarks.
? Actualización (Fecha: 10-08-2023)
? ¡Estamos orgullosos de compartir que las versiones mejoradas de FinBen, que ahora son compatibles con chino y español!
? Actualización (Fecha: 20-02-2024)
? Estamos encantados de compartir que nuestro documento, "El FinBen: un punto de referencia financiero holístico para modelos de lenguaje grandes", ya está disponible en FinBen.
? Actualización (Fecha: 02-05-2024)
? Nos complace invitarlo a asistir al desafío IJCAI2024, "Desafíos financieros en modelos lingüísticos grandes - FinLLM", el kit de inicio está disponible en Starter-kit.
Puntos de control:
Idiomas
Papeles
Evaluaciones :
Análisis de sentimiento
Clasificación
Extracción de conocimiento
Comprensión numérica
Resumen de texto
Calificación crediticia
Previsión
¡Bienvenido al proyecto PIXIU ! Este proyecto está diseñado para apoyar el desarrollo, ajuste y evaluación de modelos de lenguaje grandes (LLM) en el ámbito financiero. PIXIU es un paso importante hacia la comprensión y el aprovechamiento del poder de los LLM en el ámbito financiero. .
El repositorio está organizado en varios componentes clave, cada uno de los cuales tiene un propósito único en el proceso de PNL financiero:
FinBen : nuestro punto de referencia de evaluación de predicción y comprensión del lenguaje financiero FinBen sirve como conjunto de evaluación para LLM financieros, con un enfoque en tareas de comprensión y predicción en diversos contextos financieros.
FIT : Nuestro conjunto de datos de instrucción financiera es un conjunto de datos de instrucción multitarea y multimodal diseñado específicamente para tareas financieras. Sirve como campo de capacitación para perfeccionar los LLM para estas tareas.
FinMA : Nuestro modelo de lenguaje financiero grande (LLM) es el núcleo de nuestro proyecto y proporciona el poder de aprendizaje y predicción para nuestras tareas financieras.
Recursos abiertos : PIXIU proporciona abiertamente el LLM financiero, datos de ajuste de instrucción y conjuntos de datos incluidos en el punto de referencia de evaluación para fomentar la investigación abierta y la transparencia.
Multitarea : los datos de ajuste de instrucciones y el punto de referencia en PIXIU cubren un conjunto diverso de tareas financieras, incluidas cuatro tareas financieras de PNL y una tarea de predicción financiera.
Multimodalidad : los datos de ajuste de instrucciones y el punto de referencia de PIXIU consisten en datos financieros multimodales, incluidos datos de series temporales de la tarea de predicción del movimiento de acciones. Cubre varios tipos de textos financieros, incluidos informes, artículos de noticias, tweets y presentaciones regulatorias.
Diversidad : a diferencia de los puntos de referencia anteriores que se centran principalmente en tareas financieras de PNL, el punto de referencia de evaluación de PIXIU incluye tareas críticas de predicción financiera alineadas con escenarios del mundo real, lo que lo hace más desafiante.
En esta sección, proporcionamos un análisis detallado del desempeño de FinMA en comparación con otros modelos líderes, incluidos ChatGPT, GPT-4 y BloombergGPT et al. Para este análisis, hemos elegido una variedad de tareas y métricas que abarcan varios aspectos financieros. Procesamiento del lenguaje natural y predicción financiera. ¡Todos los resultados del modelo FinBen se pueden encontrar en nuestra tabla de clasificación!
Datos | Tarea | Crudo | Tipos de datos | Modalidades | Licencia | Papel |
---|---|---|---|---|---|---|
FPB | análisis de sentimiento | 4.845 | noticias | texto | CC BY-SA 3.0 | [1] |
FiQA-SA | análisis de sentimiento | 1,173 | titulares de noticias, tweets | texto | Público | [2] |
TSA | análisis de sentimiento | 561 | titulares de noticias | texto | CC BY-NC-SA 4.0 | [3] |
FOMC | clasificación hawkish-dovish | 496 | Transcripciones del FOMC | texto | CC BY-NC 4.0 | [4] |
Titulares | clasificación de titulares de noticias | 11,412 | titulares de noticias | texto | CC BY-SA 3.0 | [5] |
FinArg-ECC-Tarea1 | clasificación de unidades de argumento | 969 | conferencia telefónica sobre ganancias | texto | CC BY-NC-SA 4.0 | [6] |
FinArg-ECC-Tarea 2 | clasificación de la relación argumental | 690 | conferencia telefónica sobre ganancias | texto | CC BY-NC-SA 4.0 | [6] |
Multifin ES | clasificación de clases múltiples | 546 | titulares de artículos | texto | Público | [7] |
MAMÁ | clasificación de integridad del trato | 500 | artículos de noticias, tweets | texto | Público | [8] |
MLESGEN | Identificación de problemas ESG | 300 | artículos de noticias | texto | CC BY-NC-ND | [9] |
NER | reconocimiento de entidad nombrada | 1.366 | acuerdos financieros | texto | CC BY-SA 3.0 | [10] |
Orden más fina | reconocimiento de entidad nombrada | 1.080 | artículos de noticias | texto | CC BY-NC 4.0 | [11] |
FinRED | extracción de relaciones | 1.070 | ganar transacciones de llamadas | texto | Público | [12] |
FinCasual 2020 Tarea 1 | clasificación causal | 8.630 | artículos de noticias, SEC | texto | CC POR 4.0 | [13] |
FinCasual 2020 Tarea 2 | detección causal | 226 | artículos de noticias, SEC | texto | CC POR 4.0 | [13] |
FinQA | respuesta a preguntas | 8.281 | informes de ganancias | texto, tabla | Licencia MIT | [14] |
tQA | respuesta a preguntas | 1.670 | informes financieros | texto, tabla | Licencia MIT | [15] |
FxL | etiquetado numérico | 318 | SEGUNDO | texto | Público | [16] |
FSRL | clasificación de tokens | 97 | artículos de noticias | texto | Licencia MIT | [17] |
ECTSUM | resumen de texto | 495 | ganar transacciones de llamadas | texto | Público | [18] |
EDTSUM | resumen de texto | 2000 | artículos de noticias | texto | Público | [19] |
Alemán | calificación crediticia | 1000 | registros de crédito | mesa | CC POR 4.0 | [20] |
australiano | calificación crediticia | 690 | registros de crédito | mesa | CC POR 4.0 | [veintiuno] |
Club de préstamos | calificación crediticia | 1,3453 | información financiera | mesa | CC0 1.0 | [Veintidós] |
BigData22 | predicción del movimiento de acciones | 7.164 | tweets, precios históricos | texto, serie temporal | Público | [veintitrés] |
ACL18 | predicción del movimiento de acciones | 27.053 | tweets, precios históricos | texto, serie temporal | Licencia MIT | [veinticuatro] |
CIKM18 | predicción del movimiento de acciones | 4.967 | tweets, precios históricos | texto, serie temporal | Público | [25] |
ConvFinQA | respuesta a preguntas de varios turnos | 1.490 | informes de ganancias | texto, tabla | Licencia MIT | [26] |
Fraude con tarjetas de crédito | Detección de fraude | 11.392 | información financiera | mesa | (DbCL) v1.0 | [Veintidós] |
ccfraude | Detección de fraude | 10.485 | información financiera | mesa | Público | [Veintidós] |
Polaco | Identificación de dificultades financieras | 8.681 | características del estado financiero | mesa | CC POR 4.0 | [Veintidós] |
Revista económica de Taiwán | Identificación de dificultades financieras | 6.819 | características del estado financiero | mesa | CC POR 4.0 | [Veintidós] |
PortoSeguro | Análisis de reclamaciones | 11,904 | reclamación e información financiera | mesa | Público | [Veintidós] |
Seguro de viaje | Análisis de reclamaciones | 12.665 | reclamación e información financiera | mesa | (ODbl) v1.0 | [Veintidós] |
1. Pekka Malo, Ankur Sinha, Pekka Korhonen, Jyrki Wallenius y Pyry Takala 2014. Deuda buena o mala: detección de orientaciones semánticas en textos económicos Revista de la Asociación de Ciencia y Tecnología de la Información 65, 4 (2014), 782. –796.
2. Macedo Maia, Siegfried Handschuh, André Freitas, Brian Davis, Ross McDermott, Manel Zarrouk y Alexandra Balahur 2018. Desafío abierto WW'18: extracción de opiniones financieras y respuesta a preguntas en las actas complementarias de la conferencia web 2018. 1941. –1942.
3. Keith Cortis, André Freitas, Tobias Daudert, Manuela Huerlimann, Manel Zarrouk, Siegfried Handschuh y Brian Davis 2017. Tarea 5 de SemEval-2017: Análisis detallado del sentimiento sobre microblogs y noticias financieras. sobre Evaluación Semántica (SemEval-2017) , páginas 519–535, Vancouver, Canadá. Asociación de Lingüística Computacional.
4. Agam Shah, Suvan Paturi y Sudheer Chava. 2023. Palabras de billones de dólares: un nuevo conjunto de datos financieros, análisis de tareas y mercados en actas de la 61.ª reunión anual de la Asociación de Lingüística Computacional (Volumen 1: artículos extensos) , páginas. 6664–6679, Toronto, Canadá. Asociación de Lingüística Computacional.
5. Ankur Sinha y Tanmay Khandait 2021. Impacto de las noticias en el mercado de productos básicos: conjunto de datos y resultados en Avances en información y comunicación: Actas de la Conferencia sobre el futuro de la información y la comunicación (FICC) de 2021, volumen 2. Springer, 589–. 601.
6. Chen CC, Lin CY, Chiu CJ, et al. Descripción general de la tarea NTCIR-17 FinArg-1: comprensión detallada de los argumentos en el análisis financiero[C]//Actas de la 17ª Conferencia del NTCIR sobre evaluación de tecnologías de acceso a la información , Tokio, Japón 2023.
7. Rasmus Jørgensen, Oliver Brandt, Mareike Hartmann, Xiang Dai, Christian Igel y Desmond Elliott 2023. MultiFin: un conjunto de datos para PNL financiera multilingüe en Hallazgos de la Asociación de Lingüística Computacional: EACL 2023 , páginas 894–909, Dubrovnik. , Croacia. Asociación de Lingüística Computacional.
8. Yang, L., Kenny, EM, Ng, TL, Yang, Y., Smyth, B. y Dong, R. (2020 Generación de explicaciones contrafactuales plausibles para transformadores profundos en la clasificación de textos financieros). Lingüística .
9. Chung-Chi Chen, Yu-Min Tseng, Juyeon Kang, Anaïs Lhuissier, Min-Yuh Day, Teng-Tsai Tu y Hsin-Hsi Chen 2023. Identificación de cuestiones de esg multilingüe en las actas del quinto taller . Tecnología financiera y procesamiento del lenguaje natural (FinNLP) y la segunda IA multimodal para pronósticos financieros (Muffin) .
10. Julio Cesar Salinas Alvarado, Karin Verspoor y Timothy Baldwin 2015. Adaptación del dominio del reconocimiento de entidades nombradas para respaldar la evaluación del riesgo crediticio. En las actas del Taller de la Asociación de Tecnología del Idioma de Australasia 2015. 84–90.
11. Shah A, Vithani R, Gullapalli A, et al. Finer: Conjunto de datos de reconocimiento de entidades financieras nombradas y modelo de supervisión débil [J] preimpresión de arXiv:2302.11157, 2023.
12. Sharma, Soumya et al. “FinRED: un conjunto de datos para la extracción de relaciones en el ámbito financiero”. Actas complementarias de la conferencia web 2022 (2022): pág.
13. Dominique Mariko, Hanna Abi-Akl, Estelle Labidurie, Stephane Durfort, Hugues De Mazancourt y Mahmoud El-Haj 2020. La tarea compartida de detección de causalidad de documentos financieros (FinCausal 2020). Procesamiento y resumen financiero de MultiLing , páginas 23–32, Barcelona, España (En línea).
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 conjunto de datos de razonamiento numérico sobre datos financieros. En actas de la Conferencia de 2021 sobre métodos empíricos en el procesamiento del lenguaje natural. 3697–3711.
15. Zhu, Fengbin, Wenqiang Lei, Youcheng Huang, Chao Wang, Shuo Zhang, Jiancheng Lv, Fuli Feng y Tat-Seng Chua "TAT-QA: Un punto de referencia para responder preguntas sobre un híbrido de contenido tabular y textual en finanzas". ArXiv abs/2105.07624 (2021): pág.
16. Soumya Sharma, Subhendu Khatuya, Manjunath Hegde, Afreen Shaikh, Koustuv Dasgupta, Pawan Goyal y Niloy Ganguly 2023. Etiquetado extremo numérico financiero: un conjunto de datos y evaluación comparativa en Hallazgos de la Asociación de Lingüística Computacional: ACL 2023 , páginas 3550. –3561, Toronto, Canadá Asociación de Computación. Lingüística.
17. Matthew Lamm, Arun Chaganty, Christopher D. Manning, Dan Jurafsky y Percy Liang 2018. Análisis de analogías textuales: qué se comparte y qué se compara entre hechos análogos en las actas de la conferencia de 2018 sobre métodos empíricos en el procesamiento del lenguaje natural , páginas. 82–92, Bruselas, Bélgica. Asociación de Lingüística Computacional.
18. Rajdeep Mukherjee, Abhinav Bohra, Akash Banerjee, Soumya Sharma, Manjunath Hegde, Afreen Shaikh, Shivani Shrivastava, Koustuv Dasgupta, Niloy Ganguly, Saptarshi Ghosh y Pawan Goyal 2022. ECTSum: un nuevo conjunto de datos de referencia para el resumen de puntos largos. Transcripciones de llamadas de ganancias en. Actas de la Conferencia de 2022 sobre métodos empíricos en el procesamiento del lenguaje natural , páginas 10893–10906, Abu Dhabi, Asociación de Lingüística Computacional de los Emiratos Árabes Unidos.
19. Zhihan Zhou, Liqian Ma y Han Liu 2021. Negocie el evento: detección de eventos corporativos para el comercio impulsado por eventos basado en noticias en Hallazgos de la Asociación de Lingüística Computacional: ACL-IJCNLP 2021 , páginas 2114–2124, en línea. Asociación de Lingüística Computacional.
20. Hofmann, Hans (1994). Statlog (Repositorio de datos crediticios alemanes).
21. Quinlan, Ross. Statlog (Aprobación de crédito australiano) https://doi.org/10.24432/C59012.
22. Duanyu Feng, Yongfu Dai, Jimin Huang, Yifang Zhang, Qianqian Xie, Weiguang Han, Alejandro Lopez-Lira, Hao Wang. Empoderar a muchos, sesgar a unos pocos: calificación crediticia generalista a través de modelos de lenguaje grandes. 2023): pág.
23. Yejun Soun, Jaemin Yoo, Minyong Cho, Jihyeong Jeon y U Kang 2022. Predicción precisa del movimiento de acciones con aprendizaje autosupervisado a partir de tweets dispersos y ruidosos en la Conferencia internacional IEEE sobre Big Data de 2022 (IEEE, 1691). –1700.
24. Yumo Xu y Shay B Cohen 2018. Predicción del movimiento de acciones a partir de tweets y precios históricos en Actas de la 56ª Reunión Anual de la Asociación de Lingüística Computacional (Volumen 1: Artículos extensos 1970-1979).
25. Huizhe Wu, Wei Zhang, Weiwei Shen y Jun Wang 2018. Modelado secuencial profundo híbrido para la predicción de acciones basadas en texto social. En Actas de la 27ª conferencia internacional ACM sobre gestión de la información y el conocimiento, 1627-1630.
26. Zhiyu Chen, Shiyang Li, Charese Smiley, Zhiqiang Ma, Sameena Shah y William Yang Wang 2022. ConvFinQA: Exploración de la cadena de razonamiento numérico en la respuesta a preguntas sobre finanzas conversacionales. En las actas de la Conferencia de 2022 sobre métodos empíricos en lenguaje natural. Processing, páginas 6279–6292, Abu Dhabi, Asociación de los Emiratos Árabes Unidos. de Lingüística Computacional.
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
El comando anterior inicia un contenedor acoplable, puede modificar docker_run.sh
para adaptarlo a su entorno. Proporcionamos una imagen prediseñadas ejecutando 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 " ]
Los argumentos explican:
[]
significa argumentos ignorablesHF_HOME
: directorio de caché de Huggingfacesshd_port
: puerto sshd del contenedor, puede ejecutar ssh -i private_key -p $sshd_port root@$ip
para conectarse al contenedor, el valor predeterminado es 22001--rm
: elimina el contenedor cuando sale del contenedor (es decir, CTRL + D
) Antes de la evaluación, descargue el punto de control de BART en src/metrics/BARTScore/bart_score.pth
.
Para una evaluación automatizada, siga estas instrucciones:
Transformador Huggingface
Para evaluar un modelo alojado en HuggingFace Hub (por ejemplo, finma-7b-full), use este comando:
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 "
Se pueden encontrar más detalles en la documentación de lm_eval.
Tenga en cuenta que, para tareas como NER, la evaluación automatizada se basa en un patrón específico. Esto podría no extraer información relevante en configuraciones de disparo cero, lo que resulta en un rendimiento relativamente menor en comparación con resultados anteriores anotados por humanos.
export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
python eval.py
--model gpt-4
--tasks flare_ner,flare_sm_acl,flare_fpb
Para ejecutar el backend de inferencia:
bash scripts/run_interface.sh
Ajuste run_interface.sh según los requisitos de su entorno.
Para evaluar:
python data/ * /evaluate.py
Crear una nueva tarea para FinBen implica crear un conjunto de datos de Huggingface e implementar la tarea en un archivo Python. Esta guía lo guía en cada paso para configurar una nueva tarea usando el marco de trabajo de FinBen.
Su conjunto de datos debe crearse en el siguiente formato:
{
"query" : "..." ,
"answer" : "..." ,
"text" : "..."
}
En este formato:
query
: combinación de su mensaje y textoanswer
: Tu etiquetaPara tareas de varios turnos (como )
Para tareas de clasificación (como FPB (FinBen_fpb)), se deben definir claves adicionales:
choices
: Conjunto de etiquetasgold
: Índice de la etiqueta correcta en las opciones (Empezar desde 0)Para tareas de etiquetado secuencial (como Finer Ord (FinBen_finer_ord)), se deben definir claves adicionales:
label
: Lista de etiquetas de tokens
token
: Lista de tokens
Para tareas de resumen extractivo (como ECTSUM (FinBen_ectsum)), se deben definir claves adicionales:
label
: Lista de etiquetas de oracionesPara tareas abstractas de resumen y respuesta a preguntas (como EDTSUM (FinBen_edtsum)), no se deben definir claves adicionales.
Una vez que su conjunto de datos esté listo, puede comenzar a implementar su tarea. Su tarea debe definirse dentro de una nueva clase en flare.py o cualquier otro archivo Python ubicado dentro del directorio de tareas.
Para atender una variedad de tareas, ofrecemos varias clases base especializadas, incluidas Classification
, SequentialLabeling
, RelationExtraction
, ExtractiveSummarization
, AbstractiveSummarization
y QA
.
Por ejemplo, si se está embarcando en una tarea de clasificación, puede aprovechar directamente nuestra clase base Classification
. Esta clase permite la creación de tareas eficiente e intuitiva. Para demostrarlo mejor, profundicemos en un ejemplo de cómo crear una tarea llamada FinBen-FPB. la clase base Classification
:
class flareFPB ( Classification ):
DATASET_PATH = "flare-fpb"
¡Y eso es todo! Una vez que haya creado su clase de tarea, el siguiente paso es registrarla en el archivo src/tasks/__init__.py
. Para hacer esto, agregue una nueva línea siguiendo el formato "task_name": module.ClassName
. Así es como se hace:
TASK_REGISTRY = {
"flare_fpb" : flare . FPB ,
"your_new_task" : your_module . YourTask , # This is where you add your task
}
Tarea | Métrico | Ilustración |
---|---|---|
Clasificación | Exactitud | Esta métrica representa la proporción de observaciones predichas correctamente con respecto al total de observaciones. Se calcula como (verdaderos positivos + verdaderos negativos) / total de observaciones. |
Clasificación | Puntuación F1 | La puntuación F1 representa la media armónica de precisión y recuperación, creando así un equilibrio entre estos dos factores. Resulta especialmente útil en escenarios en los que un factor tiene más importancia que el otro. La puntuación varía de 0 a 1, donde 1 significa precisión perfecta. y recuperación, y 0 indica el peor de los casos. Además, proporcionamos versiones tanto 'ponderadas' como 'macro' de la puntuación F1. |
Clasificación | Proporción faltante | Esta métrica calcula la proporción de respuestas en las que no se devuelve ninguna opción de las opciones dadas en la tarea. |
Clasificación | Coeficiente de correlación de Matthews (MCC) | El MCC es una métrica que evalúa la calidad de las clasificaciones binarias y produce una puntuación que oscila entre -1 y +1. Una puntuación de +1 significa una predicción perfecta, 0 denota una predicción que no es mejor que la probabilidad aleatoria y -1 indica una predicción completamente inversa. predicción. |
Etiquetado secuencial | puntuación F1 | En el contexto de las tareas de etiquetado secuencial, utilizamos la puntuación F1 calculada por la biblioteca seqeval , una sólida métrica de evaluación a nivel de entidad. Esta métrica exige una coincidencia exacta tanto del intervalo como del tipo de entidad entre las entidades predichas y reales para un. evaluación correcta Los verdaderos positivos (TP) representan entidades predichas correctamente, los falsos positivos (FP) denotan entidades predichas incorrectamente o entidades con intervalos/tipos que no coinciden, y los falsos negativos (FN) significan entidades omitidas en la evaluación. La verdad fundamental, la precisión, la recuperación y la puntuación F1 se calculan utilizando estas cantidades, donde la puntuación F1 representa la media armónica de la precisión y la recuperación. |
Etiquetado secuencial | Puntuación de etiqueta F1 | Esta métrica evalúa el rendimiento del modelo basándose únicamente en la exactitud de las etiquetas predichas, sin considerar los intervalos de entidades. |
Extracción de relaciones | Precisión | La precisión mide la proporción de relaciones predichas correctamente entre todas las relaciones predichas. Se calcula como el número de Verdaderos Positivos (TP) dividido por la suma de Verdaderos Positivos y Falsos Positivos (FP). |
Extracción de relaciones | Recordar | La recuperación mide la proporción de relaciones predichas correctamente de todas las relaciones reales. Se calcula como el número de Verdaderos Positivos (TP) dividido por la suma de Verdaderos Positivos y Falsos Negativos (FN). |
Extracción de relaciones | puntuación F1 | La puntuación F1 es la media armónica de precisión y recuperación, y proporciona un equilibrio entre estas dos métricas. La puntuación F1 es mejor en 1 (precisión y recuperación perfectas) y peor en 0. |
Resumen extractivo y abstractivo | Rouge-N | Esto mide la superposición de N-gramas (una secuencia contigua de N elementos de una muestra de texto determinada) entre el resumen generado por el sistema y el resumen de referencia. 'N' puede ser 1, 2 o más, con ROUGE-1 y. ROUGE-2 se usa comúnmente para evaluar superposiciones de unigramas y bigramas, respectivamente. |
Resumen extractivo y abstractivo | Rouge-L | Esta métrica evalúa la subsecuencia común (LCS) más larga entre el sistema y los resúmenes de referencia. La LCS tiene en cuenta la similitud de la estructura a nivel de oración de forma natural e identifica automáticamente los n-gramas coexistentes más largos en la secuencia. |
Respuesta a preguntas | EMACC | EMACC evalúa la coincidencia exacta entre la respuesta generada por el modelo y la respuesta de referencia. En otras palabras, la respuesta generada por el modelo se considera correcta sólo si coincide exactamente con la respuesta de referencia, palabra por palabra. |
Además, puede determinar si las etiquetas deben estar en minúsculas durante el proceso de coincidencia especificando
LOWER_CASE
en su definición de clase. Esto es pertinente ya que las etiquetas coinciden según su apariencia en la salida generada para tareas como exámenes donde las etiquetas son un conjunto específico. de letras en mayúscula como 'A', 'B', 'C', normalmente se debe establecer en False.
Nuestro conjunto de datos de instrucción está diseñado exclusivamente para el LLM de dominio específico, FinMA. Este conjunto de datos se ha ensamblado meticulosamente para ajustar nuestro modelo en una amplia gama de tareas financieras. Presenta datos multitarea y multimodales disponibles públicamente derivados del. Múltiples conjuntos de datos financieros publicados de forma abierta.
El conjunto de datos es multifacético y presenta tareas que incluyen análisis de sentimientos, clasificación de titulares de noticias, reconocimiento de entidades nombradas, respuesta a preguntas y predicción de movimientos de acciones. Cubre modalidades de datos tanto textuales como de series temporales, y ofrece una rica variedad de datos financieros. Expertos en el campo han diseñado cuidadosamente indicaciones de instrucciones específicas para cada tarea.
La siguiente tabla resume las diferentes tareas, sus correspondientes modalidades, tipos de texto y ejemplos de las instrucciones utilizadas para cada tarea:
Tarea | Modalidades | Tipos de texto | InstruccionesEjemplos |
---|---|---|---|
Análisis de sentimiento | Texto | titulares de noticias, tweets | "Analice el sentimiento de esta declaración extraída de un artículo de noticias financieras. Proporcione su respuesta como negativa, positiva o neutral. Por ejemplo, 'Las acciones de la empresa se desplomaron después del escándalo'. |
Clasificación de titulares de noticias | Texto | Titulares de noticias | "Considere si el titular menciona el precio del oro. ¿Hay un precio o no en el mercado de productos básicos del oro indicado en el titular de la noticia? Por favor responda Sí o No." |
Reconocimiento de entidad nombrada | Texto | acuerdos financieros | "En las oraciones extraídas de acuerdos financieros en presentaciones ante la SEC de EE. UU., identifique las entidades nombradas que representan a una persona ('PER'), una organización ('ORG') o una ubicación ('LOC'). El formato de respuesta requerido es: 'nombre de la entidad, tipo de entidad'. Por ejemplo, en 'Elon Musk, CEO de SpaceX, anunció el lanzamiento desde Cabo Cañaveral', las entidades serían: 'Elon Musk, PER SpaceX, ORG; |
Respuesta a preguntas | Texto | informes de ganancias | "En el contexto de esta serie de consultas interconectadas relacionadas con las finanzas y la información adicional proporcionada por el pretexto, los datos de la tabla y el texto posterior de las declaraciones financieras de una empresa, proporcione una respuesta a la pregunta final. Esto puede requerir extraer información del contexto y realizar cálculos matemáticos Tenga en cuenta la información proporcionada en las preguntas anteriores y sus respuestas al formular su respuesta:" |
Predicción del movimiento de acciones | Texto, Serie temporal | tweets, precios de acciones | "Analice la información y las publicaciones en las redes sociales para determinar si el precio de cierre de {tid} ascenderá o descenderá en {point} . Responda con Subida o Bajada". |
El conjunto de datos contiene una gran cantidad de muestras de datos de instrucciones (136K), lo que permite a FinMA capturar los matices de las diversas tareas financieras. La siguiente tabla proporciona los detalles estadísticos del conjunto de datos de instrucciones:
Datos | Tarea | Crudo | Instrucción | Tipos de datos | Modalidades | Licencia | Papel original |
---|---|---|---|---|---|---|---|
FPB | análisis de sentimiento | 4.845 | 48.450 | noticias | texto | CC BY-SA 3.0 | [1] |
FiQA-SA | análisis de sentimiento | 1,173 | 11.730 | titulares de noticias, tweets | texto | Público | [2] |
Titular | clasificación de titulares de noticias | 11,412 | 11,412 | titulares de noticias | texto | CC BY-SA 3.0 | [3] |
NER | reconocimiento de entidad nombrada | 1.366 | 13.660 | acuerdos financieros | texto | CC BY-SA 3.0 | [4] |
FinQA | respuesta a preguntas | 8.281 | 8.281 | informes de ganancias | texto, tabla | Licencia MIT | [5] |
ConvFinQA | respuesta a preguntas | 3.892 | 3.892 | informes de ganancias | texto, tabla | Licencia MIT | [6] |
BigData22 | predicción del movimiento de acciones | 7.164 | 7.164 | tweets, precios históricos | texto, serie temporal | Público | [7] |
ACL18 | predicción del movimiento de acciones | 27.053 | 27.053 | tweets, precios históricos | texto, serie temporal | Licencia MIT | [8] |
CIKM18 | predicción del movimiento de acciones | 4.967 | 4.967 | tweets, precios históricos | texto, serie temporal | Público | [9] |
Cuando se trabaja con el Conjunto de datos de instrucción financiera (FIT), es fundamental seguir el formato prescrito para los modelos de capacitación y prueba.
El formato debería verse así:
{
"id" : " unique id " ,
"conversations" : [
{
"from" : " human " ,
"value" : " Your prompt and text "
},
{
"from" : " agent " ,
"value" : " Your answer "
}
],
"text" : " Text to be classified " ,
"label" : " Your label "
}
Esto es lo que significa cada campo:
El primer turno en la lista de "conversaciones" siempre debe ser de "humano" y contener su mensaje y el texto. El segundo turno debe ser de "agente" y contener su respuesta.
Nos complace presentar la primera versión de FinMA, que incluye tres modelos FinMA-7B, FinMA-7B-full, FinMA-30B, ajustados en LLaMA 7B y LLaMA-30B y FinMA-30B están entrenados con. Datos de instrucción de PNL, mientras que FinMA-7B-full se entrena con los datos de instrucción completos de FIT que cubren tanto tareas de PNL como de predicción.
FinMA v0.1 ya está disponible en Huggingface para uso público. Esperamos las valiosas contribuciones que esta versión inicial hará al campo de la PNL financiera y animamos a los usuarios a aplicarla a diversas tareas y escenarios financieros. También invitamos a recibir comentarios y compartir. experiencias para ayudar a mejorar futuras versiones.
Muy pronto.
FinMem es un novedoso marco de agente basado en LLM diseñado para la toma de decisiones financieras, que abarca tres módulos principales: elaboración de perfiles, para delinear las características del agente, con procesamiento en capas, para ayudar al agente a asimilar datos financieros jerárquicos realistas y toma de decisiones; , para convertir los conocimientos adquiridos a partir de los recuerdos en decisiones de inversión. Actualmente, FinMem puede negociar acciones individuales con altos rendimientos después de un calentamiento en modo simple. A continuación se muestra un inicio rápido para un marco de versión acoplado, con TSLA como ejemplo. aporte.
Paso 1: Establezca las variables ambientales en .env
y agregue HUGGINGFACE TOKEN y OPENAI API KEY según sea necesario.
OPENAI_API_KEY = " <Your OpenAI Key> "
HF_TOKEN = " <Your HF token> "
Paso 2: Establecer la URL del punto final en config.toml
Utilice la URL del punto final para implementar modelos según el modelo elegido (OPENAI, Gemini, modelos de código abierto en HuggingFace, etc. Para modelos de código abierto en HuggingFace, una opción para generar TGI). los puntos finales son a través de RunPod.
[chat]
model = " tgi "
end_point = " <set the your endpoint address> "
tokenization_model_name = " <model name> "
...
Paso 3: crear una imagen y un contenedor de Docker
docker build -t test-finmem .devcontainer/.
contenedor de inicio:
docker run -it --rm -v $( pwd ) :/finmem test-finmem bash
Paso 4: ¡Inicia la simulación!
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. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Uso de ejemplo:
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
También hay funcionalidades de puntos de control. Para obtener más detalles, visite el repositorio FinMem directamente.
Si utiliza PIXIU en su trabajo, cite nuestro artículo.
@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 tiene licencia [MIT]. Para obtener más detalles, consulte el archivo MIT.