
Der selektive Kontext komprimiert Ihre Eingabeaufforderung und Ihren Kontext so, dass LLMs (z. B. ChatGPT) 2x weitere Inhalte verarbeiten. Es ist besonders nützlich, um lange Dokumente zu behandeln und lange Gespräche zu führen, ohne ihre Leistung bei verschiedenen Aufgaben zu beeinträchtigen!
Dieses Repository enthält den Code und die Daten für das Papier: Komprimierung des Kontextes zur Verbesserung der Inferenzeffizienz großer Sprachmodelle.
9. Oktober 2023 : Diese Arbeit wurde für das Hauptverfahren von EMNLP 2023 akzeptiert. Der obige Papierlink ist die neueste Konferenzversion. Wenn Sie nach der vorherigen Arxiv -Version des Papiers suchen: Entsperren von Kontextbeschränkungen von LLMs.
6. Mai 2023 : Probieren Sie unsere Demo über den Space -Face -Bereich aus.
Befolgen Sie zu den Schritten, um zu beginnen:
Installieren Sie selective-context über PYPI:
pip install selective-context
python -m spacy download en_core_web_sm
Wenn Sie Chinesisch verarbeiten, führen Sie python -m spacy download zh_core_web_sm aus.
SelectiveContext importieren:
from selective_context import SelectiveContext
Komprimieren Sie Ihre Eingabeaufforderung und Ihren Kontext. Der context enthält den komprimierten Kontext:
sc = SelectiveContext(model_type='gpt2', lang='en')
context, reduced_content = sc(text)
Sie können auch das Reduzierungsverhältnis einstellen:
context, reduced_content = sc(text, reduce_ratio = 0.5)
Wenn Sie es vorziehen, mit Weboberflächen zu versuchen, probieren Sie unsere Streamlit -App aus:
streamlit run app/app.py
Oder besuchen Sie direkt unseren Raum auf dem Umarmungsgesichtszentrum.
selective_context.py : Eine Demo zur Durchführung der Kontextreduktion mit dem selektiven Kontext.context_manager.py : Das Hauptmodul zum Verwalten von Kontext und zur Implementierung des selektiven Kontextalgorithmus.main.py : Das Hauptskript zum Ausführen von Experimenten und zur Bewertung der Wirksamkeit des selektiven Kontextes.qa_manager.py : Ein Helfermodul zum Verwalten von Fragen zur Beantwortung von Aufgaben während der Experimente. Um die Experimente aus dem Papier zu reproduzieren:
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>
Der im Papier verwendete Datensatz finden Sie unter:
Die Datensätze werden von uns selbst erstellt. Wenn Sie also Zitat benötigen, verwenden Sie einfach das Zitat dieses Tools.
Wenn Sie Probleme mit dem Zugriff auf den Hubface -Hub haben, laden Sie die Daten über:
wget https://github.com/liyucheng09/Selective_Context/releases/download/v0.1.0rc1/data_dumps.zip
Wenn Sie dieses Repository als hilfreich finden oder unsere Methode in Ihrer Forschung verwenden, sollten Sie in unserem Papier zitieren:
@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}
}
Die vorherige Version:
@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}
}
Dieses Projekt ist unter der MIT -Lizenz lizenziert.