interpretable embeddings
1.0.0
Создание интерпретируемых встраиваний, задавая вопросы LLMS, код для бумаги QA-EMB.
QA-EMBS создает интерпретируемые вторжения, задавая ряд вопросов «да-нет» предварительно обученному авторегрессии LLM. 
Если вы просто хотите использовать QA-EMB в своем собственном приложении, самый простой способ-через пакет imodelsx. Чтобы установить, просто запустите pip install imodelsx .
Затем вы можете генерировать свои собственные интерпретируемые встраивания, придумав вопросы для вашего домена:
from imodelsx import QAEmb
import pandas as pd
questions = [
'Is the input related to food preparation?' ,
'Does the input mention laughter?' ,
'Is there an expression of surprise?' ,
'Is there a depiction of a routine or habit?' ,
'Does the sentence contain stuttering?' ,
'Does the input contain a first-person pronoun?' ,
]
examples = [
'i sliced some cucumbers and then moved on to what was next' ,
'the kids were giggling about the silly things they did' ,
'and i was like whoa that was unexpected' ,
'walked down the path like i always did' ,
'um no um then it was all clear' ,
'i was walking to school and then i saw a cat' ,
]
checkpoint = 'meta-llama/Meta-Llama-3-8B-Instruct'
embedder = QAEmb (
questions = questions , checkpoint = checkpoint , use_cache = False )
embeddings = embedder ( examples )
df = pd . DataFrame ( embeddings . astype ( int ), columns = [
q . split ()[ - 1 ] for q in questions ])
df . index = examples
df . columns . name = 'Question (abbreviated)'
display ( df . style . background_gradient ( axis = None ))
- - - - - - - - DISPLAYS ANSWER FOR EACH QUESTION IN EMBEDDING - - - - - - - -Направления для установки наборов данных, необходимых для воспроизведения экспериментов MRI в статье.
python experiments/00_load_dataset.pydata DIR, где вы запускаете его, и будет использовать DataLad для загрузки предварительно обработанных данных, а также пространства функций, необходимых для установки семантических моделей кодировкиneuro1.config.root_dir , где вы хотите сохранить данные{root_dir}/ds003020/derivative/pycortex-db/em_data отсюда и переместить его содержимое в {root_dir}/em_dataneuro1.data.response_utils function load_response{root_dir}/ds003020/derivative/preprocessed_data/{subject} , они хранятся в файле H5 для каждой истории, например, wheretheressmoke.h5neuro1.features.stim_utils function load_story_wordseqs{root_dir}/ds003020/derivative/TextGrids", where each story has a TextGrid file, eg whendessmoke.textgrid`{root_dir}/ds003020/derivative/respdict.json чтобы получить длину каждой историиНаправления для установки кода здесь в качестве пакета для полной разработки.
pip install -e . локально установить пакет neuro1python 01_fit_encoding.py --subject UTS03 --feature eng1000 @ misc { benara2024crafting ,
title = { Crafting Interpretable Embeddings by Asking LLMs Questions },
author = { Vinamra Benara and Chandan Singh and John X. Morris and Richard Antonello and Ion Stoica and Alexander G. Huth and Jianfeng Gao },
year = { 2024 },
eprint = { 2405.16714 },
archivePrefix = { arXiv },
primaryClass = { cs.CL }
}