
O contexto seletivo comprime seu prompt e contexto para permitir que o LLMS (como ChatGPT) processe 2x mais conteúdo. É especialmente útil para lidar com documentos longos e em manter longas conversas sem comprometer seu desempenho em várias tarefas!
Este repositório contém o código e os dados do artigo: contexto de compactação para melhorar a eficiência de inferência de grandes modelos de linguagem.
9 de outubro de 2023 : Este trabalho foi aceito para os principais procedimentos do EMNLP 2023 ? O link em papel acima é a versão mais recente da conferência. Se você está procurando a versão ARXIV anterior do artigo: desbloqueando restrições de contexto do LLMS.
6 de maio 2023 : Experimente nossa demonstração no espaço do Hugging Sace.
Para começar, siga estas etapas:
Instale selective-context via Pypi:
pip install selective-context
python -m spacy download en_core_web_sm
Se você está processando chinês, execute python -m spacy download zh_core_web_sm também.
Importar SelectiveContext :
from selective_context import SelectiveContext
Compressa seu rápido e contexto. O context contém o contexto comprimido:
sc = SelectiveContext(model_type='gpt2', lang='en')
context, reduced_content = sc(text)
Você também pode ajustar a proporção de redução:
context, reduced_content = sc(text, reduce_ratio = 0.5)
Se você preferir experimentar com a interface da web, tente nosso aplicativo Streamlit:
streamlit run app/app.py
Ou visite diretamente nosso espaço para abraçar o hub de rosto.
selective_context.py : uma demonstração para realizar redução de contexto usando o contexto seletivo.context_manager.py : o módulo principal para gerenciar o contexto e implementar o algoritmo de contexto seletivo.main.py : o principal script para executar experimentos e avaliar a eficácia do contexto seletivo.qa_manager.py : um módulo auxiliar para gerenciar tarefas de resposta a perguntas durante os experimentos. Para reproduzir os experimentos do artigo:
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>
O conjunto de dados usado no artigo pode ser encontrado em:
Os conjuntos de dados são criados por nós mesmos; portanto, se você precisar de citação, basta usar a citação desta ferramenta.
Se você tiver problemas para acessar o HUGGINGFACH HUB, faça o download dos dados via:
wget https://github.com/liyucheng09/Selective_Context/releases/download/v0.1.0rc1/data_dumps.zip
Se você achar útil este repositório ou usar nosso método em sua pesquisa, considere citar nosso artigo:
@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}
}
A versão 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 projeto está licenciado sob a licença do MIT.