
El contexto selectivo comprime su aviso y contexto para permitir que los LLM (como ChatGPT) procesen 2 veces más contenido. ¡Es especialmente útil para tratar documentos largos y mantener conversaciones largas sin comprometer su desempeño en varias tareas!
Este repositorio contiene el código y los datos para el documento: contexto de comprimir para mejorar la eficiencia de inferencia de modelos de lenguaje grandes.
9 de octubre de 2023 : ¿Este trabajo ha sido aceptado para los principales procedimientos de EMNLP 2023 ? El enlace en papel anterior es la última versión de la conferencia. Si está buscando la versión ARXIV anterior del documento: desbloquear restricciones de contexto de LLM.
6 de mayo 2023 : Pruebe nuestra demostración en Huggingface Space.
Para comenzar, siga estos pasos:
Instale selective-context a través de PYPI:
pip install selective-context
python -m spacy download en_core_web_sm
Si está procesando chino, ejecute python -m spacy download zh_core_web_sm también.
Importar SelectiveContext :
from selective_context import SelectiveContext
Comprima su aviso y contexto. El context contiene el contexto comprimido:
sc = SelectiveContext(model_type='gpt2', lang='en')
context, reduced_content = sc(text)
También puede ajustar la relación de reducción:
context, reduced_content = sc(text, reduce_ratio = 0.5)
Si prefiere intentarlo con la interfaz web, pruebe nuestra aplicación Streamlit:
streamlit run app/app.py
O visite directamente nuestro espacio en abrazando Face Hub.
selective_context.py : una demostración para realizar una reducción del contexto utilizando un contexto selectivo.context_manager.py : el módulo principal para administrar el contexto e implementar el algoritmo de contexto selectivo.main.py : el script principal para ejecutar experimentos y evaluar la efectividad del contexto selectivo.qa_manager.py : un módulo auxiliar para administrar las tareas de respuesta a las preguntas durante los experimentos. Para reproducir los experimentos del papel:
wget https://github.com/liyucheng09/Selective_Context/releases/download/v0.1.0rc1/datasets_dumps.zip
unzip datasets_dumps.zip
python main.py datasets_dumps/arxiv datasets_dumps/news datasets_dump/conversation <output_path_to_save_results> <num_articles> <HF_model_name_or_path>
El conjunto de datos utilizado en el documento se puede encontrar en:
Los conjuntos de datos son creados por nosotros mismos, por lo que si necesita citas, simplemente use la cita de esta herramienta.
Si tiene problemas para acceder a Huggingface Hub, descargue los datos a través de:
wget https://github.com/liyucheng09/Selective_Context/releases/download/v0.1.0rc1/data_dumps.zip
Si encuentra útil este repositorio o usa nuestro método en su investigación, considere citar nuestro documento:
@misc{li2023compressing,
title={Compressing Context to Enhance Inference Efficiency of Large Language Models},
author={Yucheng Li and Bo Dong and Chenghua Lin and Frank Guerin},
year={2023},
eprint={2310.06201},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
La versión anterior:
@misc{li2023unlocking,
title={Unlocking Context Constraints of LLMs: Enhancing Context Efficiency of LLMs with Self-Information-Based Content Filtering},
author={Yucheng Li},
year={2023},
eprint={2304.12102},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Este proyecto tiene licencia bajo la licencia MIT.