wisent 0.1.1__py3-none-any.whl → 0.5.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of wisent might be problematic. Click here for more details.
- wisent/__init__.py +1 -8
- wisent/benchmarks/__init__.py +0 -0
- wisent/benchmarks/coding/__init__.py +0 -0
- wisent/benchmarks/coding/metrics/__init__.py +0 -0
- wisent/benchmarks/coding/metrics/core/__init__.py +0 -0
- wisent/benchmarks/coding/metrics/core/atoms.py +36 -0
- wisent/benchmarks/coding/metrics/evaluator.py +275 -0
- wisent/benchmarks/coding/metrics/passk.py +66 -0
- wisent/benchmarks/coding/output_sanitizer/__init__.py +0 -0
- wisent/benchmarks/coding/output_sanitizer/core/__init__.py +0 -0
- wisent/benchmarks/coding/output_sanitizer/core/atoms.py +27 -0
- wisent/benchmarks/coding/output_sanitizer/cpp_sanitizer.py +62 -0
- wisent/benchmarks/coding/output_sanitizer/java_sanitizer.py +78 -0
- wisent/benchmarks/coding/output_sanitizer/python_sanitizer.py +94 -0
- wisent/benchmarks/coding/output_sanitizer/utils.py +107 -0
- wisent/benchmarks/coding/providers/__init__.py +18 -0
- wisent/benchmarks/coding/providers/core/__init__.py +0 -0
- wisent/benchmarks/coding/providers/core/atoms.py +31 -0
- wisent/benchmarks/coding/providers/livecodebench/__init__.py +0 -0
- wisent/benchmarks/coding/providers/livecodebench/provider.py +53 -0
- wisent/benchmarks/coding/safe_docker/__init__.py +0 -0
- wisent/benchmarks/coding/safe_docker/core/__init__.py +0 -0
- wisent/benchmarks/coding/safe_docker/core/atoms.py +105 -0
- wisent/benchmarks/coding/safe_docker/core/runtime.py +118 -0
- wisent/benchmarks/coding/safe_docker/entrypoint.py +123 -0
- wisent/benchmarks/coding/safe_docker/recipes.py +60 -0
- wisent/classifiers/__init__.py +0 -0
- wisent/classifiers/core/__init__.py +0 -0
- wisent/classifiers/core/atoms.py +747 -0
- wisent/classifiers/models/__init__.py +0 -0
- wisent/classifiers/models/logistic.py +29 -0
- wisent/classifiers/models/mlp.py +47 -0
- wisent/cli/__init__.py +0 -0
- wisent/cli/classifiers/__init__.py +0 -0
- wisent/cli/classifiers/classifier_rotator.py +137 -0
- wisent/cli/cli_logger.py +142 -0
- wisent/cli/data_loaders/__init__.py +0 -0
- wisent/cli/data_loaders/data_loader_rotator.py +96 -0
- wisent/cli/evaluators/__init__.py +0 -0
- wisent/cli/evaluators/evaluator_rotator.py +148 -0
- wisent/cli/steering_methods/__init__.py +0 -0
- wisent/cli/steering_methods/steering_rotator.py +110 -0
- wisent/cli/wisent_cli/__init__.py +0 -0
- wisent/cli/wisent_cli/commands/__init__.py +0 -0
- wisent/cli/wisent_cli/commands/help_cmd.py +52 -0
- wisent/cli/wisent_cli/commands/listing.py +154 -0
- wisent/cli/wisent_cli/commands/train_cmd.py +322 -0
- wisent/cli/wisent_cli/main.py +93 -0
- wisent/cli/wisent_cli/shell.py +80 -0
- wisent/cli/wisent_cli/ui.py +69 -0
- wisent/cli/wisent_cli/util/__init__.py +0 -0
- wisent/cli/wisent_cli/util/aggregations.py +43 -0
- wisent/cli/wisent_cli/util/parsing.py +126 -0
- wisent/cli/wisent_cli/version.py +4 -0
- wisent/core/__init__.py +27 -0
- wisent/core/activations/__init__.py +0 -0
- wisent/core/activations/activations_collector.py +338 -0
- wisent/core/activations/core/__init__.py +0 -0
- wisent/core/activations/core/atoms.py +216 -0
- wisent/core/agent/__init__.py +18 -0
- wisent/core/agent/budget.py +638 -0
- wisent/core/agent/device_benchmarks.py +685 -0
- wisent/core/agent/diagnose/__init__.py +55 -0
- wisent/core/agent/diagnose/agent_classifier_decision.py +641 -0
- wisent/core/agent/diagnose/classifier_marketplace.py +554 -0
- wisent/core/agent/diagnose/create_classifier.py +1154 -0
- wisent/core/agent/diagnose/response_diagnostics.py +268 -0
- wisent/core/agent/diagnose/select_classifiers.py +506 -0
- wisent/core/agent/diagnose/synthetic_classifier_option.py +754 -0
- wisent/core/agent/diagnose/tasks/__init__.py +33 -0
- wisent/core/agent/diagnose/tasks/task_manager.py +1456 -0
- wisent/core/agent/diagnose/tasks/task_relevance.py +94 -0
- wisent/core/agent/diagnose/tasks/task_selector.py +151 -0
- wisent/core/agent/diagnose/test_synthetic_classifier.py +71 -0
- wisent/core/agent/diagnose.py +242 -0
- wisent/core/agent/steer.py +212 -0
- wisent/core/agent/timeout.py +134 -0
- wisent/core/autonomous_agent.py +1234 -0
- wisent/core/bigcode_integration.py +583 -0
- wisent/core/contrastive_pairs/__init__.py +15 -0
- wisent/core/contrastive_pairs/core/__init__.py +0 -0
- wisent/core/contrastive_pairs/core/atoms.py +45 -0
- wisent/core/contrastive_pairs/core/buliders.py +59 -0
- wisent/core/contrastive_pairs/core/pair.py +178 -0
- wisent/core/contrastive_pairs/core/response.py +152 -0
- wisent/core/contrastive_pairs/core/serialization.py +300 -0
- wisent/core/contrastive_pairs/core/set.py +133 -0
- wisent/core/contrastive_pairs/diagnostics/__init__.py +45 -0
- wisent/core/contrastive_pairs/diagnostics/activations.py +53 -0
- wisent/core/contrastive_pairs/diagnostics/base.py +73 -0
- wisent/core/contrastive_pairs/diagnostics/control_vectors.py +169 -0
- wisent/core/contrastive_pairs/diagnostics/coverage.py +79 -0
- wisent/core/contrastive_pairs/diagnostics/divergence.py +98 -0
- wisent/core/contrastive_pairs/diagnostics/duplicates.py +116 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/__init__.py +0 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/atoms.py +238 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/lm_extractor_manifest.py +8 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/lm_extractor_registry.py +132 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_extractors/__init__.py +0 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_extractors/winogrande.py +115 -0
- wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_pairs_generation.py +50 -0
- wisent/core/data_loaders/__init__.py +0 -0
- wisent/core/data_loaders/core/__init__.py +0 -0
- wisent/core/data_loaders/core/atoms.py +98 -0
- wisent/core/data_loaders/loaders/__init__.py +0 -0
- wisent/core/data_loaders/loaders/custom.py +120 -0
- wisent/core/data_loaders/loaders/lm_loader.py +218 -0
- wisent/core/detection_handling.py +257 -0
- wisent/core/download_full_benchmarks.py +1386 -0
- wisent/core/evaluators/__init__.py +0 -0
- wisent/core/evaluators/oracles/__init__.py +0 -0
- wisent/core/evaluators/oracles/interactive.py +73 -0
- wisent/core/evaluators/oracles/nlp_evaluator.py +440 -0
- wisent/core/evaluators/oracles/user_specified.py +67 -0
- wisent/core/hyperparameter_optimizer.py +429 -0
- wisent/core/lm_eval_harness_ground_truth.py +1396 -0
- wisent/core/log_likelihoods_evaluator.py +321 -0
- wisent/core/managed_cached_benchmarks.py +595 -0
- wisent/core/mixed_benchmark_sampler.py +364 -0
- wisent/core/model_config_manager.py +330 -0
- wisent/core/model_persistence.py +317 -0
- wisent/core/models/__init__.py +0 -0
- wisent/core/models/core/__init__.py +0 -0
- wisent/core/models/core/atoms.py +460 -0
- wisent/core/models/wisent_model.py +727 -0
- wisent/core/multi_steering.py +316 -0
- wisent/core/optuna/__init__.py +57 -0
- wisent/core/optuna/classifier/__init__.py +25 -0
- wisent/core/optuna/classifier/activation_generator.py +349 -0
- wisent/core/optuna/classifier/classifier_cache.py +509 -0
- wisent/core/optuna/classifier/optuna_classifier_optimizer.py +606 -0
- wisent/core/optuna/steering/__init__.py +0 -0
- wisent/core/optuna/steering/bigcode_evaluator_wrapper.py +188 -0
- wisent/core/optuna/steering/data_utils.py +342 -0
- wisent/core/optuna/steering/metrics.py +474 -0
- wisent/core/optuna/steering/optuna_pipeline.py +1738 -0
- wisent/core/optuna/steering/steering_optimization.py +1111 -0
- wisent/core/parser.py +1668 -0
- wisent/core/prompts/__init__.py +0 -0
- wisent/core/prompts/core/__init__.py +0 -0
- wisent/core/prompts/core/atom.py +57 -0
- wisent/core/prompts/core/prompt_formater.py +157 -0
- wisent/core/prompts/prompt_stratiegies/__init__.py +0 -0
- wisent/core/prompts/prompt_stratiegies/direct_completion.py +24 -0
- wisent/core/prompts/prompt_stratiegies/instruction_following.py +24 -0
- wisent/core/prompts/prompt_stratiegies/multiple_choice.py +29 -0
- wisent/core/prompts/prompt_stratiegies/role_playing.py +31 -0
- wisent/core/representation.py +5 -0
- wisent/core/sample_size_optimizer.py +648 -0
- wisent/core/sample_size_optimizer_v2.py +355 -0
- wisent/core/save_results.py +277 -0
- wisent/core/steering.py +652 -0
- wisent/core/steering_method.py +26 -0
- wisent/core/steering_methods/__init__.py +0 -0
- wisent/core/steering_methods/core/__init__.py +0 -0
- wisent/core/steering_methods/core/atoms.py +153 -0
- wisent/core/steering_methods/methods/__init__.py +0 -0
- wisent/core/steering_methods/methods/caa.py +44 -0
- wisent/core/steering_optimizer.py +1297 -0
- wisent/core/task_interface.py +132 -0
- wisent/core/task_selector.py +189 -0
- wisent/core/tasks/__init__.py +175 -0
- wisent/core/tasks/aime_task.py +141 -0
- wisent/core/tasks/file_task.py +211 -0
- wisent/core/tasks/hle_task.py +180 -0
- wisent/core/tasks/hmmt_task.py +119 -0
- wisent/core/tasks/livecodebench_task.py +201 -0
- wisent/core/tasks/livemathbench_task.py +158 -0
- wisent/core/tasks/lm_eval_task.py +455 -0
- wisent/core/tasks/math500_task.py +84 -0
- wisent/core/tasks/polymath_task.py +146 -0
- wisent/core/tasks/supergpqa_task.py +220 -0
- wisent/core/time_estimator.py +149 -0
- wisent/core/timing_calibration.py +174 -0
- wisent/core/tracking/__init__.py +54 -0
- wisent/core/tracking/latency.py +618 -0
- wisent/core/tracking/memory.py +359 -0
- wisent/core/trainers/__init__.py +0 -0
- wisent/core/trainers/core/__init__.py +11 -0
- wisent/core/trainers/core/atoms.py +45 -0
- wisent/core/trainers/steering_trainer.py +271 -0
- wisent/core/user_model_config.py +158 -0
- wisent/opti/__init__.py +0 -0
- wisent/opti/core/__init__.py +0 -0
- wisent/opti/core/atoms.py +175 -0
- wisent/opti/methods/__init__.py +0 -0
- wisent/opti/methods/opti_classificator.py +172 -0
- wisent/opti/methods/opti_steering.py +138 -0
- wisent/synthetic/__init__.py +0 -0
- wisent/synthetic/cleaners/__init__.py +0 -0
- wisent/synthetic/cleaners/core/__init__.py +0 -0
- wisent/synthetic/cleaners/core/atoms.py +58 -0
- wisent/synthetic/cleaners/deduper_cleaner.py +53 -0
- wisent/synthetic/cleaners/methods/__init__.py +0 -0
- wisent/synthetic/cleaners/methods/base_dedupers.py +320 -0
- wisent/synthetic/cleaners/methods/base_refusalers.py +286 -0
- wisent/synthetic/cleaners/methods/core/__init__.py +0 -0
- wisent/synthetic/cleaners/methods/core/atoms.py +47 -0
- wisent/synthetic/cleaners/pairs_cleaner.py +90 -0
- wisent/synthetic/cleaners/refusaler_cleaner.py +133 -0
- wisent/synthetic/db_instructions/__init__.py +0 -0
- wisent/synthetic/db_instructions/core/__init__.py +0 -0
- wisent/synthetic/db_instructions/core/atoms.py +25 -0
- wisent/synthetic/db_instructions/mini_dp.py +37 -0
- wisent/synthetic/generators/__init__.py +0 -0
- wisent/synthetic/generators/core/__init__.py +0 -0
- wisent/synthetic/generators/core/atoms.py +73 -0
- wisent/synthetic/generators/diversities/__init__.py +0 -0
- wisent/synthetic/generators/diversities/core/__init__.py +0 -0
- wisent/synthetic/generators/diversities/core/core.py +68 -0
- wisent/synthetic/generators/diversities/methods/__init__.py +0 -0
- wisent/synthetic/generators/diversities/methods/fast_diversity.py +249 -0
- wisent/synthetic/generators/pairs_generator.py +179 -0
- wisent-0.5.1.dist-info/METADATA +67 -0
- wisent-0.5.1.dist-info/RECORD +218 -0
- {wisent-0.1.1.dist-info → wisent-0.5.1.dist-info}/WHEEL +1 -1
- {wisent-0.1.1.dist-info → wisent-0.5.1.dist-info/licenses}/LICENSE +2 -2
- wisent/activations/__init__.py +0 -9
- wisent/activations/client.py +0 -97
- wisent/activations/extractor.py +0 -251
- wisent/activations/models.py +0 -95
- wisent/client.py +0 -45
- wisent/control_vector/__init__.py +0 -9
- wisent/control_vector/client.py +0 -85
- wisent/control_vector/manager.py +0 -168
- wisent/control_vector/models.py +0 -70
- wisent/inference/__init__.py +0 -9
- wisent/inference/client.py +0 -103
- wisent/inference/inferencer.py +0 -250
- wisent/inference/models.py +0 -66
- wisent/utils/__init__.py +0 -3
- wisent/utils/auth.py +0 -30
- wisent/utils/http.py +0 -228
- wisent/version.py +0 -3
- wisent-0.1.1.dist-info/METADATA +0 -142
- wisent-0.1.1.dist-info/RECORD +0 -23
- {wisent-0.1.1.dist-info → wisent-0.5.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
wisent/__init__.py,sha256=eZ1bOun1DDVV0YLOBW4wj2FP1ajReLjbIrGmzN7ASBw,22
|
|
2
|
+
wisent/benchmarks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
wisent/benchmarks/coding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
wisent/benchmarks/coding/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
wisent/benchmarks/coding/metrics/evaluator.py,sha256=0nO-ugT5SSEJEeXRRHd84PylU79v5iTbNG5-bQwaqTk,11988
|
|
6
|
+
wisent/benchmarks/coding/metrics/passk.py,sha256=IZZmGAbvmONPDYX9khzN6tqk6GZe4EvfijSPBWTbrE8,1984
|
|
7
|
+
wisent/benchmarks/coding/metrics/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
wisent/benchmarks/coding/metrics/core/atoms.py,sha256=I4wwOUTDjJ_4Jo6Bbpl8Tkv0Uz9zpwNjzeWBrXru-9g,1001
|
|
9
|
+
wisent/benchmarks/coding/output_sanitizer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
wisent/benchmarks/coding/output_sanitizer/cpp_sanitizer.py,sha256=dXBPT1NMOI8PrpsoqGxpkt0cQGwOjI26rqwjqxLDF8Q,3468
|
|
11
|
+
wisent/benchmarks/coding/output_sanitizer/java_sanitizer.py,sha256=w95jTKFkR6HNDmacBd-PkkM6urRf06jof_EINg30XlM,4514
|
|
12
|
+
wisent/benchmarks/coding/output_sanitizer/python_sanitizer.py,sha256=u1i03azUkI8G78iKC9jGUIP3-8r2IQnKx_EcUb4x9JA,4885
|
|
13
|
+
wisent/benchmarks/coding/output_sanitizer/utils.py,sha256=FNepdX6bkDbp3unKLsMXNPemwi1iQnhsYEmcLc4SvWI,3153
|
|
14
|
+
wisent/benchmarks/coding/output_sanitizer/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
wisent/benchmarks/coding/output_sanitizer/core/atoms.py,sha256=yoPxZg-jA9XE065erGV99Dj6aE3dFvKzogxLo_IWvq8,1185
|
|
16
|
+
wisent/benchmarks/coding/providers/__init__.py,sha256=rpGxV7u93zVQdkXfywxPeq_L5jXNFc0cN1Zj0TsXw2E,731
|
|
17
|
+
wisent/benchmarks/coding/providers/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
wisent/benchmarks/coding/providers/core/atoms.py,sha256=6THxuLLpg2GRiKT82ZItyQWgLGx7_Ljzk4YhgjV8zfM,1090
|
|
19
|
+
wisent/benchmarks/coding/providers/livecodebench/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
wisent/benchmarks/coding/providers/livecodebench/provider.py,sha256=A_Gz3v7hk1p3Ep3UAG6M-bhB2FMefGybdo8wsp2rdZQ,2449
|
|
21
|
+
wisent/benchmarks/coding/safe_docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
wisent/benchmarks/coding/safe_docker/entrypoint.py,sha256=LfZghrAlhiBGB-mfiS037_Rp-ZS8NvAaohbgpP3axgY,4283
|
|
23
|
+
wisent/benchmarks/coding/safe_docker/recipes.py,sha256=tYDJd4POqimluupTdAwF6Hb8cFz4xtT3UDGGAVDyVP4,2233
|
|
24
|
+
wisent/benchmarks/coding/safe_docker/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
wisent/benchmarks/coding/safe_docker/core/atoms.py,sha256=JE2eOKtiXGLNGSNqaPwtpPbcipoPeDdmVNxgt5_EHYE,3026
|
|
26
|
+
wisent/benchmarks/coding/safe_docker/core/runtime.py,sha256=ZrItDfVv9UrQFWP5zEa_YBZHVEUnVdEmsiHjwy8msU0,4417
|
|
27
|
+
wisent/classifiers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
wisent/classifiers/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
wisent/classifiers/core/atoms.py,sha256=rHxL6eO3OptQWc8UPKeZCMbnpnXTB_TzHkinMU_rZSk,25972
|
|
30
|
+
wisent/classifiers/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
wisent/classifiers/models/logistic.py,sha256=9yZwDepy1Ee8f9zyeqnCJpcTgQzqDOaQzPjGsHhAHhc,865
|
|
32
|
+
wisent/classifiers/models/mlp.py,sha256=FcPTvHGseDuNhMGxnXtzFEDIrWOEh9CaCH9dJMvOo2w,1525
|
|
33
|
+
wisent/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
wisent/cli/cli_logger.py,sha256=6vuLGPz3wJAf8tHQhuYatRhnFYiUnlPEFy6ThYpqKrs,4477
|
|
35
|
+
wisent/cli/classifiers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
+
wisent/cli/classifiers/classifier_rotator.py,sha256=O-9c-gtA1Ska5mxWRrIAYo33nD3aBK76tFu0FMVJNEk,5164
|
|
37
|
+
wisent/cli/data_loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
wisent/cli/data_loaders/data_loader_rotator.py,sha256=NIDLrneCINvh7QmIzYA9oomitmP_PqvTuFk5UGgKf6E,4315
|
|
39
|
+
wisent/cli/evaluators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
wisent/cli/evaluators/evaluator_rotator.py,sha256=20oAV9p2Gpg_mawx7BlrOKeivlgYWe984I9h5hMVYVo,5692
|
|
41
|
+
wisent/cli/steering_methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
wisent/cli/steering_methods/steering_rotator.py,sha256=RCSuWe_oSijnaH-v_06BUBivs_i9s5uDX0NpRSPio1E,4230
|
|
43
|
+
wisent/cli/wisent_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
wisent/cli/wisent_cli/main.py,sha256=COlO056Ovo2-ErhaKeJsUFcbpN8h1bUjSSKQ93pO7VQ,3545
|
|
45
|
+
wisent/cli/wisent_cli/shell.py,sha256=TRZWu1w9S6W1xBPYwDGWePf-Sr2-0WmC7bUny63_XWU,2384
|
|
46
|
+
wisent/cli/wisent_cli/ui.py,sha256=M52163wvh0DgSjsRG69RhqEX87faceXFm-roOn7bH2M,2960
|
|
47
|
+
wisent/cli/wisent_cli/version.py,sha256=ICeC5AhJ79Gx1kISaMY1WQHMl4al3elA4RKLAly-6uc,87
|
|
48
|
+
wisent/cli/wisent_cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
wisent/cli/wisent_cli/commands/help_cmd.py,sha256=P0LD5LbdKg_VuqluYDHic0J4Y4McChZAnnj7S97wDVM,1620
|
|
50
|
+
wisent/cli/wisent_cli/commands/listing.py,sha256=0d4FHLQcy4WhC5kn1nb3V94qVTINd1Q3zx3rKSMTzw0,5594
|
|
51
|
+
wisent/cli/wisent_cli/commands/train_cmd.py,sha256=euBiBBQIZNNKzD57eNGVbXtvnX5zuo-Sv9-cTyXLFOw,13517
|
|
52
|
+
wisent/cli/wisent_cli/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
wisent/cli/wisent_cli/util/aggregations.py,sha256=bh8Ig4rmqdI2uLivFl723Pvk3byamtwOLhmluYjAIrA,1421
|
|
54
|
+
wisent/cli/wisent_cli/util/parsing.py,sha256=DvBTcoBItDGJQI-AE4bs0otBJ7ElLynNhqRDzgeQjzs,4067
|
|
55
|
+
wisent/core/__init__.py,sha256=gV8CY_CXyTQ0LLtY98aCv2_Gl8IPEZn8yKw4s4ztTXA,769
|
|
56
|
+
wisent/core/autonomous_agent.py,sha256=Kv_dZ7_lEuBFLilCdIhMS3PVdlB0B4WbmASz661BEjw,52495
|
|
57
|
+
wisent/core/bigcode_integration.py,sha256=TIaPQDbPRDPdnCq8U-Gwl4lgayPfhOabOVQddqxotY4,19927
|
|
58
|
+
wisent/core/detection_handling.py,sha256=iiuKpzAbJfx_KFn2SFABQHOeeWblDJMXjzGwGDeKqcs,11127
|
|
59
|
+
wisent/core/download_full_benchmarks.py,sha256=z79Xx_xya7HYokdpt9FptINj92iDzL6KpiD3bc8hxDM,55958
|
|
60
|
+
wisent/core/hyperparameter_optimizer.py,sha256=GN-IY27kkFKuXwHbvalfEW5UVf4NfZ0G9rMWK2ThEAY,17319
|
|
61
|
+
wisent/core/lm_eval_harness_ground_truth.py,sha256=WpyI3mlAGojbuCmdy6JdfkrcUZX7PwG-ux0nngiPJZY,64924
|
|
62
|
+
wisent/core/log_likelihoods_evaluator.py,sha256=_twvc5BgP1VgBZTgeir9WWAPXnFiJzZvC3KpohNfXuI,15559
|
|
63
|
+
wisent/core/managed_cached_benchmarks.py,sha256=JbvpZ1fgSuQQhyQVKEvqrQZRHGqfnjo9NFhgITFoFsE,22854
|
|
64
|
+
wisent/core/mixed_benchmark_sampler.py,sha256=tKQCHUXVuYeCyx4VZt8O1hGyB-TOY_SQ_SYi8cyApII,13585
|
|
65
|
+
wisent/core/model_config_manager.py,sha256=rQAdSmk3GFlZXyHp3fSV1bORxiZWhmzIz1uo3H4JtkA,12009
|
|
66
|
+
wisent/core/model_persistence.py,sha256=6_vc1Ndujd4v0O68giINSTvYhmb7-AiacWwAbqLOrls,10636
|
|
67
|
+
wisent/core/multi_steering.py,sha256=IpaVrs28tZQM8jXbgUbrhq3bWbH4KaNhUZQcWit7_p0,11711
|
|
68
|
+
wisent/core/parser.py,sha256=_YDeSuQMx0zNknz9rX3Ls1YPT1x5eohoY8rfjeoqxV8,69091
|
|
69
|
+
wisent/core/representation.py,sha256=hBl_N9qbr5Gsa7GCQ0nMWRm82RqYEfhd9cyf0PPH5LY,195
|
|
70
|
+
wisent/core/sample_size_optimizer.py,sha256=GJ58HopXIPkz_mbAkDCEHej12lZOtisGnumG6yw2naU,23678
|
|
71
|
+
wisent/core/sample_size_optimizer_v2.py,sha256=bVYJRZC4_Mrq-HFlYLyv-9tWvqEHJ3kCeIwlmYOwI6I,13286
|
|
72
|
+
wisent/core/save_results.py,sha256=PRwaA5qO6EOsvURvLBl3YhvanlC0D0G4iYqxYAQ7sw8,13737
|
|
73
|
+
wisent/core/steering.py,sha256=Qg6QpnM5aThl0p1xeiebqZooPr8ZLeAfwJ3riWYZa1Q,22547
|
|
74
|
+
wisent/core/steering_method.py,sha256=-hZqtvwRS7sGqQJUd36MoPm0rjbO1LrtPAYmcIk8BqQ,462
|
|
75
|
+
wisent/core/steering_optimizer.py,sha256=iNi--NIPmh_3-AaPB8d6KdMY61GaGhLwi-9pQ7LKT_c,54771
|
|
76
|
+
wisent/core/task_interface.py,sha256=OlWdcxkprmZcOto-bXmg75kzUcWzH_kyW_e7w2FdPLM,4471
|
|
77
|
+
wisent/core/task_selector.py,sha256=QVgozUuiM74BMUJ8Ucb_sn6HQk5v0wL_QUsqKb55vJE,6224
|
|
78
|
+
wisent/core/time_estimator.py,sha256=DcgSzW-hr9BjmXJwBnGqE2dkFK0zgyz5WNF7934CJ9k,5778
|
|
79
|
+
wisent/core/timing_calibration.py,sha256=4eTn1GWGqzsXmWj9aryXUsZbFEPcJ3IvfCIfJJUFA0w,6860
|
|
80
|
+
wisent/core/user_model_config.py,sha256=8optjLqf9wTDtOf0c705d5_Rr2zE67jV9BNqoY-TRvA,6735
|
|
81
|
+
wisent/core/activations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
+
wisent/core/activations/activations_collector.py,sha256=IVkScMWxScj1VgPK7viVoyyHn59XGqhrI6BQqaHfG7M,14176
|
|
83
|
+
wisent/core/activations/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
+
wisent/core/activations/core/atoms.py,sha256=FeeQj-YKb-1rLX0gnzFc5VM47ikWwfFh3datRduj6mQ,9101
|
|
85
|
+
wisent/core/agent/__init__.py,sha256=bIJAwg-AMQD-thjollZPnkA996zkUR21dPM_TS17ptw,478
|
|
86
|
+
wisent/core/agent/budget.py,sha256=9uLBeqmFRvBPGlNxGM0JbEz_mifH3MpLZp8Lw5IwaiM,24386
|
|
87
|
+
wisent/core/agent/device_benchmarks.py,sha256=QMEuJl0X-UuTmRnNJWnE7_LKxRDafWfElo5AtG0VrO4,26192
|
|
88
|
+
wisent/core/agent/diagnose.py,sha256=UGaz3LCBxnX42265WJ7YR3O1kvyw1LJN2b4BaHerh7Y,9324
|
|
89
|
+
wisent/core/agent/steer.py,sha256=qcYMAGTBvPxNLozHkK0uzIKrY1eyK1kCtYx4_wMJOL4,9802
|
|
90
|
+
wisent/core/agent/timeout.py,sha256=I-G4KeAYuz1le6xTLGEWtlOxShWBi6IYSyKuJu-GUz0,4334
|
|
91
|
+
wisent/core/agent/diagnose/__init__.py,sha256=2-4OsA6zqsJKKUmn3okEAXe8Bt4jNUsolIeK-G27f8w,1449
|
|
92
|
+
wisent/core/agent/diagnose/agent_classifier_decision.py,sha256=NgMaogSsXBti8sNWv-Xzna1jwcvZKPsU7M6dX28F6EI,28997
|
|
93
|
+
wisent/core/agent/diagnose/classifier_marketplace.py,sha256=cOuCN9v-Moq1WdHP3_5qR4SBtQGf6hJGE3poMaBzjdQ,22167
|
|
94
|
+
wisent/core/agent/diagnose/create_classifier.py,sha256=UJLt9CwknI9-DqkEW5u2XbPEJ8e2qTSCvm5MrlkTTWc,44188
|
|
95
|
+
wisent/core/agent/diagnose/response_diagnostics.py,sha256=oX1iqGLLhspU5iMGubzZNUIJg7q55ylS6AWmgSW_A-U,10621
|
|
96
|
+
wisent/core/agent/diagnose/select_classifiers.py,sha256=Uv5dxEmZRjjkZKmVmYQ1jC_XJVyM2MF5dv-4QRuTWKY,18320
|
|
97
|
+
wisent/core/agent/diagnose/synthetic_classifier_option.py,sha256=myznzOEoV2rKw2YmYuoGQNi8FZKyFcI5DkBoRO-FaEU,32519
|
|
98
|
+
wisent/core/agent/diagnose/test_synthetic_classifier.py,sha256=by8YDQIPWN_9t2uzGKg1Nm1mOtgV8L8fozD3ozxZypM,2706
|
|
99
|
+
wisent/core/agent/diagnose/tasks/__init__.py,sha256=rfImwPtKCAfz-ASOBQyF4DEhU6hgCuiZBcqh1AaUE80,704
|
|
100
|
+
wisent/core/agent/diagnose/tasks/task_manager.py,sha256=Nd3ht1vSKmiTxxQx5aCe9QTH4yJwGvLdoUKlimZTfAg,62764
|
|
101
|
+
wisent/core/agent/diagnose/tasks/task_relevance.py,sha256=D4UBr0TqUNXkDZnNgA5wa4NYHSKtDaiugYeVg5zGQjs,3250
|
|
102
|
+
wisent/core/agent/diagnose/tasks/task_selector.py,sha256=ll34stireeqW-B_T4daf_91kujzVFQ8sOilk-JrxpHA,5414
|
|
103
|
+
wisent/core/contrastive_pairs/__init__.py,sha256=AbaAf-t_nyVVy_vLjp8WAlMDmNun3KNp_GMWAK25r9g,429
|
|
104
|
+
wisent/core/contrastive_pairs/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
wisent/core/contrastive_pairs/core/atoms.py,sha256=yGvwnZfZNioPmCgxwhdcvfeSKXcfV9zbpG0e2imtEmM,1135
|
|
106
|
+
wisent/core/contrastive_pairs/core/buliders.py,sha256=Lv89rAQXG6SwJJFTdZKJbPSav5_DK5rKaprQaJnsSZU,1993
|
|
107
|
+
wisent/core/contrastive_pairs/core/pair.py,sha256=OJx_tjhjVS2-0BgpzgLjtWJ6XolbOCfEXCAX8nUHVz8,8119
|
|
108
|
+
wisent/core/contrastive_pairs/core/response.py,sha256=AeTMnKflUsQeEk5qnVWLX8XOi0ybWAwEtEkovz_6hOM,6159
|
|
109
|
+
wisent/core/contrastive_pairs/core/serialization.py,sha256=IKtC__X1922nXQmjMt0427Cop7AMcHpUNRi9otK9orQ,11169
|
|
110
|
+
wisent/core/contrastive_pairs/core/set.py,sha256=JhSoEXhtoWCLoCrE3BVxAe2EjUMZs2C7VAGJeNkD0gk,4642
|
|
111
|
+
wisent/core/contrastive_pairs/diagnostics/__init__.py,sha256=aAtEI-oOmR2rTmcpMynODIjuTf7S8dW6wmyQS01aUfY,1498
|
|
112
|
+
wisent/core/contrastive_pairs/diagnostics/activations.py,sha256=TUNxU-HV3oeQxFbZhKo-OISM4mzR-Bib0naHmbqWzk8,1736
|
|
113
|
+
wisent/core/contrastive_pairs/diagnostics/base.py,sha256=uBi8PdTd6BRyy0lmGjAZLTZdgiiWwPNtsmKkBFCmlD0,2658
|
|
114
|
+
wisent/core/contrastive_pairs/diagnostics/control_vectors.py,sha256=942ukes_-U-hblds822_3OM53xSNbRiX9xusgZO1o6U,6043
|
|
115
|
+
wisent/core/contrastive_pairs/diagnostics/coverage.py,sha256=MpT6_IdLqtMpav6mOCiNuemBVFvxWzkUbj7j3ZNx-48,2761
|
|
116
|
+
wisent/core/contrastive_pairs/diagnostics/divergence.py,sha256=Io3AcGluJogz4qENWu0ivQyFR_5bLN49BzCTI7DIVa4,3430
|
|
117
|
+
wisent/core/contrastive_pairs/diagnostics/duplicates.py,sha256=uwL-RCoQK6e791drLCSl-_z-rYAZXJYXX23zNYNCY0Y,4552
|
|
118
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/atoms.py,sha256=otHGHxaQOOfDjqw7WzR5T1ejj7Kw0Jd5foUWWmPKink,8581
|
|
120
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_extractor_manifest.py,sha256=gfovSFBdTISyJyw1CXwi57_O15OESmB-AOuh5q6ENMQ,298
|
|
121
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_extractor_registry.py,sha256=Uy4-Xa2azKsvfRjtkcVk7_wrk_sLHMmnrn7rQqQOREI,4412
|
|
122
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_pairs_generation.py,sha256=Nvw_Vx6UiinzfMtlF2WVSs423BiFrIdSUC40bB84Qwc,1675
|
|
123
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
124
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_extractors/winogrande.py,sha256=ZYNfyo4HcdtMqyu4zmS8rJhwLpLOAudzNHHF4s742h0,4068
|
|
125
|
+
wisent/core/data_loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
+
wisent/core/data_loaders/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
|
+
wisent/core/data_loaders/core/atoms.py,sha256=HMM2olJ2T-qHZeoYfJgT_oqlkUCjuQrImcqCPieYqfI,3476
|
|
128
|
+
wisent/core/data_loaders/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
|
+
wisent/core/data_loaders/loaders/custom.py,sha256=GTqYDo4M5buK9ZeQv63_sd9px6uJnvJdgom1EmF-EAw,4162
|
|
130
|
+
wisent/core/data_loaders/loaders/lm_loader.py,sha256=d4qtVbiWsVQ1dN3kBsDrmlAU6yAC9S3Tzv4jVX5JEek,7836
|
|
131
|
+
wisent/core/evaluators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
|
+
wisent/core/evaluators/oracles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
133
|
+
wisent/core/evaluators/oracles/interactive.py,sha256=2cbJwfBpHW0gc12Edj9KWmtnSmMV1ZysL9fKqrEw_zI,2644
|
|
134
|
+
wisent/core/evaluators/oracles/nlp_evaluator.py,sha256=xi3WKQkMptBL9l5UnDWIimvz50oN20kxpjaA6rYqFrk,18226
|
|
135
|
+
wisent/core/evaluators/oracles/user_specified.py,sha256=Ml8Kf51-Vo-pgtCkWPfUyjBdqcc5STHuaicKK9G_TWY,2366
|
|
136
|
+
wisent/core/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
+
wisent/core/models/wisent_model.py,sha256=QrRWGS2b3P9jeC6LK4uORyCd0q_KoU1oY5uME0hk8e8,28759
|
|
138
|
+
wisent/core/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
|
+
wisent/core/models/core/atoms.py,sha256=ZgkrtS1Kde_8Ue8Yp1qKo33ssdh5fzM1rnx_mLU_-QY,15762
|
|
140
|
+
wisent/core/optuna/__init__.py,sha256=Z8_Fy4hwN-tCCfQaEpo7QpfInIXBLnzoLO8XSSnKpGc,1932
|
|
141
|
+
wisent/core/optuna/classifier/__init__.py,sha256=vv2wCAbw8ccZxq3vxrQt9plUdbr7VJj-t2rRnh6jBR8,819
|
|
142
|
+
wisent/core/optuna/classifier/activation_generator.py,sha256=mbMuC5QqaRiE9XcOKLl8lZRz0IAipL2i4FuC7Q0i93A,14343
|
|
143
|
+
wisent/core/optuna/classifier/classifier_cache.py,sha256=W7qB5imE_g6JcKaZ_tNisIznhzIe13L5c1UUPraRLLY,17386
|
|
144
|
+
wisent/core/optuna/classifier/optuna_classifier_optimizer.py,sha256=i566W8Zcrjyvt32EJxvREQyuryMpspLjpiwec5JoVSM,22404
|
|
145
|
+
wisent/core/optuna/steering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
wisent/core/optuna/steering/bigcode_evaluator_wrapper.py,sha256=gqK0f-1juclDwCVRVzA9tGJmfoWQaV8Io5TKfeFJ5FA,6659
|
|
147
|
+
wisent/core/optuna/steering/data_utils.py,sha256=ZTxNTDvMdcMFSkA8cJYhEhtJAIzhhSWMESUClBhEmEY,12213
|
|
148
|
+
wisent/core/optuna/steering/metrics.py,sha256=W5AEcBVouH_0s2K34BHL6fiVv2pVpPlzI-TEpMf-reg,20408
|
|
149
|
+
wisent/core/optuna/steering/optuna_pipeline.py,sha256=OH8SMjQiCUC_jDEax9Lmyk9PYdV-ac-4__B0gU0SMmw,74840
|
|
150
|
+
wisent/core/optuna/steering/steering_optimization.py,sha256=PbZ3swXUZ0LxBolBEo4lBCfKdtO7R1qF87tEL2XswbA,45549
|
|
151
|
+
wisent/core/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
|
+
wisent/core/prompts/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
|
+
wisent/core/prompts/core/atom.py,sha256=yb3uF7a8Vu7QL_UssriwHlIiqDef43NmppFg7Yj_JTg,1519
|
|
154
|
+
wisent/core/prompts/core/prompt_formater.py,sha256=hjm4dEtCixPIb1LIDWqhWr6b4_R7As38hYTV0SUWX2Q,5677
|
|
155
|
+
wisent/core/prompts/prompt_stratiegies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
wisent/core/prompts/prompt_stratiegies/direct_completion.py,sha256=zcuuTPwuFRa2H2q4t0x3PaUZrInFZ5NLmtZp_o4UjlM,800
|
|
157
|
+
wisent/core/prompts/prompt_stratiegies/instruction_following.py,sha256=nc_5lnDoWpaRQ-HQnavNPERBLgU-zlnyB1W2dChI1cg,808
|
|
158
|
+
wisent/core/prompts/prompt_stratiegies/multiple_choice.py,sha256=lBfFnuXwols6_olLAAqWIt_wSYcqMSDq6BEww9ouL3s,873
|
|
159
|
+
wisent/core/prompts/prompt_stratiegies/role_playing.py,sha256=CDILI94z44iPTFnWW698GZZUPBHUlP4tImTh8_kARYc,1072
|
|
160
|
+
wisent/core/steering_methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
wisent/core/steering_methods/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
|
+
wisent/core/steering_methods/core/atoms.py,sha256=CNObRGqL203nJR6xLmu65-aZ9WSpkwuG0CjEde3rzc0,5432
|
|
163
|
+
wisent/core/steering_methods/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
|
+
wisent/core/steering_methods/methods/caa.py,sha256=LRTcxzyuLCrto_aqCSSImqqAUhm7TneETDz3Yp4L9Og,1689
|
|
165
|
+
wisent/core/tasks/__init__.py,sha256=AjsAd4VhMOh2c0_y1ZRYhNsc39cT1lec7M8yHKvua84,6727
|
|
166
|
+
wisent/core/tasks/aime_task.py,sha256=SLGcmf_ywtI73JeqQNjuuKVWgddHNmqqq2jhnQS10vw,5417
|
|
167
|
+
wisent/core/tasks/file_task.py,sha256=DUMhrMFXHXfcuNsPg-LbnCg8aL8fLgdooboZCTfdgSc,7079
|
|
168
|
+
wisent/core/tasks/hle_task.py,sha256=YBSvAA4WnM4OXdsAz6ryh6fL41vPwVHrMHF5OJeLkE4,7043
|
|
169
|
+
wisent/core/tasks/hmmt_task.py,sha256=k-mIWsSl3IEGfGXIPigpw21K2CTMqQ47QDnX__rVQhQ,4742
|
|
170
|
+
wisent/core/tasks/livecodebench_task.py,sha256=BjVn1IC9Hzsd7ADM7v_KYYcJCQ6syZX8BhP1wKHncMo,9235
|
|
171
|
+
wisent/core/tasks/livemathbench_task.py,sha256=G--Gl_1wczDZgB6-wCvvBbXzrOBo9IDbSUqkJxn82Y8,6407
|
|
172
|
+
wisent/core/tasks/lm_eval_task.py,sha256=FfyiJ0kPvvqef81c65Rbdx65CbsucupVC8iKwYHQxb4,14336
|
|
173
|
+
wisent/core/tasks/math500_task.py,sha256=e_qpzG_ppuZxoq3Vi40n_9-vOCf4lRAWO4zIiyUezgU,3124
|
|
174
|
+
wisent/core/tasks/polymath_task.py,sha256=SNZELmzdQM93rjN2_zdnqXTVokDnBFIj-cXE4dsKSTI,5933
|
|
175
|
+
wisent/core/tasks/supergpqa_task.py,sha256=_axLCD7-ZoigxTfaYwVrzyHuo5woeJxKaBpWSYJZ1Tg,9069
|
|
176
|
+
wisent/core/tracking/__init__.py,sha256=Ey03RCi2x-hPTXFjUGum3qvHWF9D-BpV0B5j0St5giw,1156
|
|
177
|
+
wisent/core/tracking/latency.py,sha256=YWvotesKW1k_-7xmXvFQucOQJq3Uu87M_FkudOjynTE,21855
|
|
178
|
+
wisent/core/tracking/memory.py,sha256=nxMsOooVfYYb-5A_7SKne8r5np1q8jWEJYvm2Fv1RS4,13093
|
|
179
|
+
wisent/core/trainers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
180
|
+
wisent/core/trainers/steering_trainer.py,sha256=KboXZS_H99CNgit10LFACAs8_xliaQ8UzGsAobsh4ec,10599
|
|
181
|
+
wisent/core/trainers/core/__init__.py,sha256=D0JX0-XCHdtLrCXhVDHNQafvyWCvJ4-o4UKtkH1lI1k,1257
|
|
182
|
+
wisent/core/trainers/core/atoms.py,sha256=6XVbnzwFv9vOO08615WAEM6yqCePaaHGysvWa5k60vg,1548
|
|
183
|
+
wisent/opti/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
+
wisent/opti/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
185
|
+
wisent/opti/core/atoms.py,sha256=9UZeb_SOdDxQ6FBhdAf9qXaEXElImKUsoAMsV0c4yZg,5266
|
|
186
|
+
wisent/opti/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
|
+
wisent/opti/methods/opti_classificator.py,sha256=g2VPtdAxSM4c6e0YfXgM6SasC6SVBOfrUvaOKATOtpw,6872
|
|
188
|
+
wisent/opti/methods/opti_steering.py,sha256=P7WcLNLWbr6UCTSM1bjVQstrLMahGHWCqzwA8NIShY0,5406
|
|
189
|
+
wisent/synthetic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
|
+
wisent/synthetic/cleaners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
|
+
wisent/synthetic/cleaners/deduper_cleaner.py,sha256=tD-c-DsQOixM2FvHAcfdtKg29j9Wtiz77Gk8ouXc170,1580
|
|
192
|
+
wisent/synthetic/cleaners/pairs_cleaner.py,sha256=dGV2OyeC9EinE-cp2fZsZoiXGVBU_T7JO4XVqYkJIaI,3895
|
|
193
|
+
wisent/synthetic/cleaners/refusaler_cleaner.py,sha256=7W9B3mYB2B0XMyy4dq_uk8sLgENdXaWdsZz0aEVzm2Q,5422
|
|
194
|
+
wisent/synthetic/cleaners/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
|
+
wisent/synthetic/cleaners/core/atoms.py,sha256=ZMZE3vtRNkJcdxaGDACUO2WvR_4D6fheAG0J36a79YA,1356
|
|
196
|
+
wisent/synthetic/cleaners/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
|
+
wisent/synthetic/cleaners/methods/base_dedupers.py,sha256=QzkSpo7a57XhZaSZKfg9pO9405LaGH0wwSyJSiCeNUI,11710
|
|
198
|
+
wisent/synthetic/cleaners/methods/base_refusalers.py,sha256=3hIXeSXD96btltorqYA6BCdXxlA7HK5s7C5ZSkNyJjw,10336
|
|
199
|
+
wisent/synthetic/cleaners/methods/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
200
|
+
wisent/synthetic/cleaners/methods/core/atoms.py,sha256=kbE0eriE0LbA4aJPq__JtLYLYoldjCJZG0ENF4Ku_vQ,1575
|
|
201
|
+
wisent/synthetic/db_instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
202
|
+
wisent/synthetic/db_instructions/mini_dp.py,sha256=N0E-26mCLGjUcr9WrkwDTD_bvkII_1SwLUvi7LtqC5o,1786
|
|
203
|
+
wisent/synthetic/db_instructions/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
|
+
wisent/synthetic/db_instructions/core/atoms.py,sha256=jBazuD37hyBMIsbFNDjpwlGnxECAOuh4YT0fmpH8C6o,748
|
|
205
|
+
wisent/synthetic/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
|
+
wisent/synthetic/generators/pairs_generator.py,sha256=Hkgp2E7fU_lwiFob4EGio69TVYp2oSjcY-xaYSmISzI,6599
|
|
207
|
+
wisent/synthetic/generators/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
208
|
+
wisent/synthetic/generators/core/atoms.py,sha256=9wL0v38BCqn3y9LtoRkQsK_X3egjdYcPmFXH0mgFSWg,2290
|
|
209
|
+
wisent/synthetic/generators/diversities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
|
+
wisent/synthetic/generators/diversities/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
211
|
+
wisent/synthetic/generators/diversities/core/core.py,sha256=TjSj5T7NE5kRH-ABcFqb1Hz_j3Z6F_TcV-95uHD5Xw8,2201
|
|
212
|
+
wisent/synthetic/generators/diversities/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
213
|
+
wisent/synthetic/generators/diversities/methods/fast_diversity.py,sha256=h09UbRRYoD_YiHn3eUDnFbLWnAPbeQqfLvG9gJqgle0,8528
|
|
214
|
+
wisent-0.5.1.dist-info/licenses/LICENSE,sha256=wy0iaw8b2tyqZAfKHib3lP3PJ9o88FDCg92oUHh3sDQ,1073
|
|
215
|
+
wisent-0.5.1.dist-info/METADATA,sha256=q7IxbaTQXebzrUSCMCzVuwvWGtBLLoFg4aJqhcd5ptk,2424
|
|
216
|
+
wisent-0.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
217
|
+
wisent-0.5.1.dist-info/top_level.txt,sha256=2Ts9Iyldnb3auIN2HBBaHPknRy7nSRDm2f6RGzYgr8A,7
|
|
218
|
+
wisent-0.5.1.dist-info/RECORD,,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2024 Wisent Team
|
|
3
|
+
Copyright (c) 2023-2024 Wisent Team
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
21
|
+
SOFTWARE.
|
wisent/activations/__init__.py
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Functionality for extracting and managing model activations.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from wisent.activations.client import ActivationsClient
|
|
6
|
-
from wisent.activations.extractor import ActivationExtractor
|
|
7
|
-
from wisent.activations.models import Activation, ActivationBatch
|
|
8
|
-
|
|
9
|
-
__all__ = ["ActivationsClient", "ActivationExtractor", "Activation", "ActivationBatch"]
|
wisent/activations/client.py
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Client for interacting with the activations API.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from typing import Dict, List, Optional, Union
|
|
6
|
-
|
|
7
|
-
from wisent.activations.extractor import ActivationExtractor
|
|
8
|
-
from wisent.activations.models import Activation, ActivationBatch
|
|
9
|
-
from wisent.utils.auth import AuthManager
|
|
10
|
-
from wisent.utils.http import HTTPClient
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class ActivationsClient:
|
|
14
|
-
"""
|
|
15
|
-
Client for interacting with the activations API.
|
|
16
|
-
|
|
17
|
-
Args:
|
|
18
|
-
auth_manager: Authentication manager
|
|
19
|
-
base_url: Base URL for the API
|
|
20
|
-
timeout: Request timeout in seconds
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
def __init__(self, auth_manager: AuthManager, base_url: str, timeout: int = 60):
|
|
24
|
-
self.auth_manager = auth_manager
|
|
25
|
-
self.http_client = HTTPClient(base_url, auth_manager.get_headers(), timeout)
|
|
26
|
-
|
|
27
|
-
def extract(
|
|
28
|
-
self,
|
|
29
|
-
model_name: str,
|
|
30
|
-
prompt: str,
|
|
31
|
-
layers: Optional[List[int]] = None,
|
|
32
|
-
tokens_to_extract: Optional[List[int]] = None,
|
|
33
|
-
device: Optional[str] = None,
|
|
34
|
-
) -> ActivationBatch:
|
|
35
|
-
"""
|
|
36
|
-
Extract activations from a model for a given prompt.
|
|
37
|
-
|
|
38
|
-
Args:
|
|
39
|
-
model_name: Name of the model
|
|
40
|
-
prompt: Input prompt
|
|
41
|
-
layers: List of layers to extract activations from (default: [-1])
|
|
42
|
-
tokens_to_extract: List of token indices to extract (default: [-1])
|
|
43
|
-
device: Device to use for extraction (default: "cuda" if available, else "cpu")
|
|
44
|
-
|
|
45
|
-
Returns:
|
|
46
|
-
Batch of activations
|
|
47
|
-
"""
|
|
48
|
-
extractor = ActivationExtractor(model_name, device=device)
|
|
49
|
-
return extractor.extract(prompt, layers, tokens_to_extract)
|
|
50
|
-
|
|
51
|
-
def upload(self, batch: ActivationBatch) -> Dict:
|
|
52
|
-
"""
|
|
53
|
-
Upload a batch of activations to the Wisent backend.
|
|
54
|
-
|
|
55
|
-
Args:
|
|
56
|
-
batch: Batch of activations
|
|
57
|
-
|
|
58
|
-
Returns:
|
|
59
|
-
Response from the API
|
|
60
|
-
"""
|
|
61
|
-
return self.http_client.post("/activations/upload", json_data=batch.to_dict())
|
|
62
|
-
|
|
63
|
-
def get(self, batch_id: str) -> ActivationBatch:
|
|
64
|
-
"""
|
|
65
|
-
Get a batch of activations from the Wisent backend.
|
|
66
|
-
|
|
67
|
-
Args:
|
|
68
|
-
batch_id: ID of the batch
|
|
69
|
-
|
|
70
|
-
Returns:
|
|
71
|
-
Batch of activations
|
|
72
|
-
"""
|
|
73
|
-
data = self.http_client.get(f"/activations/{batch_id}")
|
|
74
|
-
return ActivationBatch(**data)
|
|
75
|
-
|
|
76
|
-
def list(
|
|
77
|
-
self,
|
|
78
|
-
model_name: Optional[str] = None,
|
|
79
|
-
limit: int = 100,
|
|
80
|
-
offset: int = 0,
|
|
81
|
-
) -> List[Dict]:
|
|
82
|
-
"""
|
|
83
|
-
List activation batches from the Wisent backend.
|
|
84
|
-
|
|
85
|
-
Args:
|
|
86
|
-
model_name: Filter by model name
|
|
87
|
-
limit: Maximum number of results
|
|
88
|
-
offset: Offset for pagination
|
|
89
|
-
|
|
90
|
-
Returns:
|
|
91
|
-
List of activation batch metadata
|
|
92
|
-
"""
|
|
93
|
-
params = {"limit": limit, "offset": offset}
|
|
94
|
-
if model_name:
|
|
95
|
-
params["model_name"] = model_name
|
|
96
|
-
|
|
97
|
-
return self.http_client.get("/activations", params=params)
|
wisent/activations/extractor.py
DELETED
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Functionality for extracting activations from models.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
import logging
|
|
6
|
-
from typing import Dict, List, Optional, Tuple, Union
|
|
7
|
-
|
|
8
|
-
import torch
|
|
9
|
-
from torch.utils.hooks import RemovableHandle
|
|
10
|
-
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
11
|
-
|
|
12
|
-
from wisent.activations.models import Activation, ActivationBatch, ActivationExtractorConfig
|
|
13
|
-
|
|
14
|
-
logger = logging.getLogger(__name__)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class ActivationExtractor:
|
|
18
|
-
"""
|
|
19
|
-
Extracts activations from transformer models.
|
|
20
|
-
|
|
21
|
-
Args:
|
|
22
|
-
model_name: Name of the model to extract activations from
|
|
23
|
-
config: Configuration for extraction
|
|
24
|
-
device: Device to use for extraction
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
def __init__(
|
|
28
|
-
self,
|
|
29
|
-
model_name: str,
|
|
30
|
-
config: Optional[ActivationExtractorConfig] = None,
|
|
31
|
-
device: Optional[str] = None,
|
|
32
|
-
):
|
|
33
|
-
self.model_name = model_name
|
|
34
|
-
self.config = config or ActivationExtractorConfig()
|
|
35
|
-
|
|
36
|
-
if device:
|
|
37
|
-
self.config.device = device
|
|
38
|
-
|
|
39
|
-
self.device = self.config.device
|
|
40
|
-
self.model = None
|
|
41
|
-
self.tokenizer = None
|
|
42
|
-
self._hooks = []
|
|
43
|
-
self._activations = {}
|
|
44
|
-
|
|
45
|
-
logger.info(f"Initializing ActivationExtractor for model {model_name} on {self.device}")
|
|
46
|
-
|
|
47
|
-
def _load_model(self) -> None:
|
|
48
|
-
"""Load the model and tokenizer."""
|
|
49
|
-
if self.model is None:
|
|
50
|
-
logger.info(f"Loading model {self.model_name}")
|
|
51
|
-
self.model = AutoModelForCausalLM.from_pretrained(
|
|
52
|
-
self.model_name,
|
|
53
|
-
torch_dtype=torch.float16 if self.device == "cuda" else torch.float32,
|
|
54
|
-
device_map=self.device
|
|
55
|
-
)
|
|
56
|
-
self.tokenizer = AutoTokenizer.from_pretrained(self.model_name)
|
|
57
|
-
logger.info(f"Model loaded successfully")
|
|
58
|
-
|
|
59
|
-
def _register_hooks(self, layers: List[int]) -> None:
|
|
60
|
-
"""
|
|
61
|
-
Register hooks to capture activations from specified layers.
|
|
62
|
-
|
|
63
|
-
Args:
|
|
64
|
-
layers: List of layer indices to capture
|
|
65
|
-
"""
|
|
66
|
-
self._remove_hooks()
|
|
67
|
-
self._activations = {}
|
|
68
|
-
|
|
69
|
-
# Get all transformer layers
|
|
70
|
-
if hasattr(self.model, "transformer"):
|
|
71
|
-
transformer_layers = self.model.transformer.h
|
|
72
|
-
elif hasattr(self.model, "model") and hasattr(self.model.model, "layers"):
|
|
73
|
-
transformer_layers = self.model.model.layers
|
|
74
|
-
else:
|
|
75
|
-
raise ValueError(f"Unsupported model architecture: {self.model_name}")
|
|
76
|
-
|
|
77
|
-
num_layers = len(transformer_layers)
|
|
78
|
-
|
|
79
|
-
# Resolve negative indices
|
|
80
|
-
resolved_layers = []
|
|
81
|
-
for layer in layers:
|
|
82
|
-
if layer < 0:
|
|
83
|
-
resolved_layer = num_layers + layer
|
|
84
|
-
else:
|
|
85
|
-
resolved_layer = layer
|
|
86
|
-
|
|
87
|
-
if 0 <= resolved_layer < num_layers:
|
|
88
|
-
resolved_layers.append(resolved_layer)
|
|
89
|
-
else:
|
|
90
|
-
logger.warning(f"Layer index {layer} out of range (0-{num_layers-1}), skipping")
|
|
91
|
-
|
|
92
|
-
# Register hooks for each layer
|
|
93
|
-
for layer_idx in resolved_layers:
|
|
94
|
-
layer = transformer_layers[layer_idx]
|
|
95
|
-
|
|
96
|
-
# Define hook function to capture activations
|
|
97
|
-
def hook_fn(module, input, output, layer_idx=layer_idx):
|
|
98
|
-
# For most models, output is a tuple with hidden states as the first element
|
|
99
|
-
if isinstance(output, tuple):
|
|
100
|
-
hidden_states = output[0]
|
|
101
|
-
else:
|
|
102
|
-
hidden_states = output
|
|
103
|
-
|
|
104
|
-
if layer_idx not in self._activations:
|
|
105
|
-
self._activations[layer_idx] = []
|
|
106
|
-
|
|
107
|
-
# Store a copy of the hidden states
|
|
108
|
-
self._activations[layer_idx].append(hidden_states.detach())
|
|
109
|
-
|
|
110
|
-
# Register hook on the output of the layer
|
|
111
|
-
if hasattr(layer, "output"):
|
|
112
|
-
handle = layer.output.register_forward_hook(
|
|
113
|
-
lambda module, input, output, layer_idx=layer_idx: hook_fn(module, input, output, layer_idx)
|
|
114
|
-
)
|
|
115
|
-
else:
|
|
116
|
-
handle = layer.register_forward_hook(
|
|
117
|
-
lambda module, input, output, layer_idx=layer_idx: hook_fn(module, input, output, layer_idx)
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
self._hooks.append(handle)
|
|
121
|
-
|
|
122
|
-
logger.info(f"Registered hooks for layers: {resolved_layers}")
|
|
123
|
-
|
|
124
|
-
def _remove_hooks(self) -> None:
|
|
125
|
-
"""Remove all registered hooks."""
|
|
126
|
-
for hook in self._hooks:
|
|
127
|
-
hook.remove()
|
|
128
|
-
self._hooks = []
|
|
129
|
-
|
|
130
|
-
def _get_token_indices(self, tokens_to_extract: List[int], total_tokens: int) -> List[int]:
|
|
131
|
-
"""
|
|
132
|
-
Resolve token indices, handling negative indices.
|
|
133
|
-
|
|
134
|
-
Args:
|
|
135
|
-
tokens_to_extract: List of token indices to extract
|
|
136
|
-
total_tokens: Total number of tokens
|
|
137
|
-
|
|
138
|
-
Returns:
|
|
139
|
-
List of resolved token indices
|
|
140
|
-
"""
|
|
141
|
-
resolved_indices = []
|
|
142
|
-
|
|
143
|
-
for idx in tokens_to_extract:
|
|
144
|
-
if idx < 0:
|
|
145
|
-
resolved_idx = total_tokens + idx
|
|
146
|
-
else:
|
|
147
|
-
resolved_idx = idx
|
|
148
|
-
|
|
149
|
-
if 0 <= resolved_idx < total_tokens:
|
|
150
|
-
resolved_indices.append(resolved_idx)
|
|
151
|
-
else:
|
|
152
|
-
logger.warning(f"Token index {idx} out of range (0-{total_tokens-1}), skipping")
|
|
153
|
-
|
|
154
|
-
return resolved_indices
|
|
155
|
-
|
|
156
|
-
def extract(
|
|
157
|
-
self,
|
|
158
|
-
prompt: str,
|
|
159
|
-
layers: Optional[List[int]] = None,
|
|
160
|
-
tokens_to_extract: Optional[List[int]] = None,
|
|
161
|
-
) -> ActivationBatch:
|
|
162
|
-
"""
|
|
163
|
-
Extract activations from the model for a given prompt.
|
|
164
|
-
|
|
165
|
-
Args:
|
|
166
|
-
prompt: Input prompt
|
|
167
|
-
layers: List of layers to extract activations from (default: from config)
|
|
168
|
-
tokens_to_extract: List of token indices to extract (default: from config)
|
|
169
|
-
|
|
170
|
-
Returns:
|
|
171
|
-
Batch of activations
|
|
172
|
-
"""
|
|
173
|
-
try:
|
|
174
|
-
self._load_model()
|
|
175
|
-
|
|
176
|
-
layers = layers or self.config.layers
|
|
177
|
-
tokens_to_extract = tokens_to_extract or self.config.tokens_to_extract
|
|
178
|
-
|
|
179
|
-
# Register hooks for the specified layers
|
|
180
|
-
self._register_hooks(layers)
|
|
181
|
-
|
|
182
|
-
# Tokenize the input
|
|
183
|
-
inputs = self.tokenizer(prompt, return_tensors="pt")
|
|
184
|
-
input_ids = inputs.input_ids.to(self.device)
|
|
185
|
-
|
|
186
|
-
# Get the total number of tokens
|
|
187
|
-
total_tokens = input_ids.shape[1]
|
|
188
|
-
|
|
189
|
-
# Resolve token indices
|
|
190
|
-
token_indices = self._get_token_indices(tokens_to_extract, total_tokens)
|
|
191
|
-
|
|
192
|
-
# Run the model to capture activations
|
|
193
|
-
with torch.no_grad():
|
|
194
|
-
self.model(input_ids)
|
|
195
|
-
|
|
196
|
-
# Process captured activations
|
|
197
|
-
activations = []
|
|
198
|
-
|
|
199
|
-
for layer_idx, layer_activations in self._activations.items():
|
|
200
|
-
# Layer activations should have shape [batch_size, seq_len, hidden_dim]
|
|
201
|
-
hidden_states = layer_activations[0]
|
|
202
|
-
|
|
203
|
-
# Get token strings for the specified indices
|
|
204
|
-
token_strings = {}
|
|
205
|
-
for token_idx in token_indices:
|
|
206
|
-
token_id = input_ids[0, token_idx].item()
|
|
207
|
-
token_strings[token_idx] = self.tokenizer.decode([token_id])
|
|
208
|
-
|
|
209
|
-
# Extract activations for the specified tokens
|
|
210
|
-
for token_idx in token_indices:
|
|
211
|
-
# Extract the activation for this token
|
|
212
|
-
token_activation = hidden_states[0, token_idx, :].cpu()
|
|
213
|
-
|
|
214
|
-
# Create an Activation object
|
|
215
|
-
activation = Activation(
|
|
216
|
-
model_name=self.model_name,
|
|
217
|
-
layer=layer_idx,
|
|
218
|
-
token_index=token_idx,
|
|
219
|
-
values=token_activation,
|
|
220
|
-
token_str=token_strings.get(token_idx)
|
|
221
|
-
)
|
|
222
|
-
|
|
223
|
-
activations.append(activation)
|
|
224
|
-
|
|
225
|
-
# Clean up
|
|
226
|
-
self._remove_hooks()
|
|
227
|
-
|
|
228
|
-
# Create and return the batch
|
|
229
|
-
return ActivationBatch(
|
|
230
|
-
model_name=self.model_name,
|
|
231
|
-
prompt=prompt,
|
|
232
|
-
activations=activations,
|
|
233
|
-
metadata={"total_tokens": total_tokens}
|
|
234
|
-
)
|
|
235
|
-
|
|
236
|
-
except Exception as e:
|
|
237
|
-
logger.error(f"Error extracting activations: {str(e)}")
|
|
238
|
-
self._remove_hooks()
|
|
239
|
-
raise
|
|
240
|
-
|
|
241
|
-
def __del__(self):
|
|
242
|
-
"""Clean up resources."""
|
|
243
|
-
self._remove_hooks()
|
|
244
|
-
|
|
245
|
-
# Free GPU memory
|
|
246
|
-
if self.model is not None and hasattr(self.model, "to"):
|
|
247
|
-
self.model = self.model.to("cpu")
|
|
248
|
-
|
|
249
|
-
# Clear CUDA cache
|
|
250
|
-
if torch.cuda.is_available():
|
|
251
|
-
torch.cuda.empty_cache()
|