wisent 0.1.1__py3-none-any.whl → 0.5.2__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.2.dist-info/METADATA +67 -0
- wisent-0.5.2.dist-info/RECORD +218 -0
- {wisent-0.1.1.dist-info → wisent-0.5.2.dist-info}/WHEEL +1 -1
- {wisent-0.1.1.dist-info → wisent-0.5.2.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.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
wisent/__init__.py,sha256=isJrmDBLRag7Zc2UK9ZovWGOv7ji1Oh-zJtJMNJFkXw,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=hI8WvJ8JyDzoKcAi3Yb4QbJ7dn_KsR4rR17k9q93RCs,11892
|
|
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=EbTrBgYDAwMJnWiA5PK9Mb7u7s3KtCpk3XQE4MSjdu4,3456
|
|
11
|
+
wisent/benchmarks/coding/output_sanitizer/java_sanitizer.py,sha256=r7IPwM5FDskucjasb8sRtW7vvGZF-uZzaqOLcM3N_ws,4502
|
|
12
|
+
wisent/benchmarks/coding/output_sanitizer/python_sanitizer.py,sha256=2Zifsul69XFQI4_Z5JRbN_pb66qxV51xdth3zGkvQEQ,4873
|
|
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=--CpgJ9Vn699Jx0WeGUgLEBWlF_f5RBtbo3dLCRJeyM,4277
|
|
23
|
+
wisent/benchmarks/coding/safe_docker/recipes.py,sha256=UWkiBl_k1nmJ6mHB6G0KH6RfLFhV4bH84ITTYmsbT3E,2227
|
|
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=ACzxKnXNPqA3w5kvllmJduz4ZAH9JR3HYDpHmH-7vM4,4393
|
|
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=nnE1I4WF9iHNFfeGr5khtoG_cJ4hQlfoE2pa9ZaJlKw,859
|
|
32
|
+
wisent/classifiers/models/mlp.py,sha256=fOWAaqTOYpB5lyEzUOb-BTkpPIpX4QpeYuH2yPU2DMw,1519
|
|
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=LAx5hTZ71Q7I4W0uSz9Bn1V4G_cpU3jmvwt160i3zes,5158
|
|
37
|
+
wisent/cli/data_loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
wisent/cli/data_loaders/data_loader_rotator.py,sha256=q68sQJGHLZQ5iaEr84Uo_NeRMChsQL8kZJ3D6Y2MDF8,4309
|
|
39
|
+
wisent/cli/evaluators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
wisent/cli/evaluators/evaluator_rotator.py,sha256=9EDR7zeOwynZvZ-J5h96sYIl9RlKOUihyJ4X5vWf31w,5686
|
|
41
|
+
wisent/cli/steering_methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
wisent/cli/steering_methods/steering_rotator.py,sha256=_S32ItI4IHNNc230Wr8m1q5gP2BrwexSyN1_nkiUOTI,4212
|
|
43
|
+
wisent/cli/wisent_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
wisent/cli/wisent_cli/main.py,sha256=7_llYPnxVbYCnLU5rIunHNz4jyZdXDJYz8IXkfZDeTI,3503
|
|
45
|
+
wisent/cli/wisent_cli/shell.py,sha256=LVA1hpC7JEUxR_j5p0APPL1jAoyWlt12s4_GMopa1D0,2372
|
|
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=C8iA5mMdEBUQovtgJDqAGH6b9TbKSHPhnESQE8_6P5M,1614
|
|
50
|
+
wisent/cli/wisent_cli/commands/listing.py,sha256=1UaKNRrlDOacQSPxp_yu3cAoWpTCwNU1-8DO2oUWJ5w,5552
|
|
51
|
+
wisent/cli/wisent_cli/commands/train_cmd.py,sha256=Pp_DY6P-zk8PvCuz6ds9JxH7BWpqQM_jc_ZfZ1lGIR0,13427
|
|
52
|
+
wisent/cli/wisent_cli/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
wisent/cli/wisent_cli/util/aggregations.py,sha256=RW2f-B18k4R0gFlIFACQmrhFKSwfxREUqqu5PaI951Y,1415
|
|
54
|
+
wisent/cli/wisent_cli/util/parsing.py,sha256=DvBTcoBItDGJQI-AE4bs0otBJ7ElLynNhqRDzgeQjzs,4067
|
|
55
|
+
wisent/core/__init__.py,sha256=V48vT6tZj0iwp9rPWuElGJ5pyUyL1foWbQLS3tf4RiE,757
|
|
56
|
+
wisent/core/autonomous_agent.py,sha256=2k1PLWm2DZ6C2fmsjMDKmQ1_wfN7KhpilHrjkTw8nMw,52489
|
|
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=KT5zHkau7zk3pgzoCS1UY8Tz7-M9JtlkNXZ9U1uDh2k,55946
|
|
60
|
+
wisent/core/hyperparameter_optimizer.py,sha256=GN-IY27kkFKuXwHbvalfEW5UVf4NfZ0G9rMWK2ThEAY,17319
|
|
61
|
+
wisent/core/lm_eval_harness_ground_truth.py,sha256=JjAbr520h01CcPUEgJNhj6RXWBja2WAvw6Jzq5av7qw,64912
|
|
62
|
+
wisent/core/log_likelihoods_evaluator.py,sha256=meHdfoAlKUm0l8F1Y6aKcBHBi_wNgSS_b8uBJrD9378,15535
|
|
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=6wegGXZpdGpiR4R0YJ1D2JqLr6yinMndEx2gB5FL80s,23666
|
|
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=GJsARTiaB72fyGQ8UGmTPBmIRb_0OL_-2BXQANSnKqg,22535
|
|
74
|
+
wisent/core/steering_method.py,sha256=-hZqtvwRS7sGqQJUd36MoPm0rjbO1LrtPAYmcIk8BqQ,462
|
|
75
|
+
wisent/core/steering_optimizer.py,sha256=wxa4p4aMjJWOknt2Jph28xPgYoEMxZVmp1GFA1pM3Wk,54759
|
|
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=wRqtxz5ahVrkd0ja1lAIidf6PL6wxfz9YvR8GT5OqXI,14146
|
|
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=YWX2_3yzpK26Guz8S9QTuFNvozwYX-tqvhiOleBsBMU,26138
|
|
88
|
+
wisent/core/agent/diagnose.py,sha256=3C5yI_gYd_8pQRdy9617tZzSGqL2rFsmXh1-WXH7Qmk,9312
|
|
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=CrXhiZt1XWOc9uuXLdA3AO4qsnVZ92qnVKZ1DFLJTZA,22161
|
|
94
|
+
wisent/core/agent/diagnose/create_classifier.py,sha256=UJKFgjGvIsRKfc5fPkfh227bAWcDD8M4jYNEeHffufI,44182
|
|
95
|
+
wisent/core/agent/diagnose/response_diagnostics.py,sha256=-bNGMq3mapWfZI5SQJAMQHuNRFtc1H6SpTpPtdpCFms,10609
|
|
96
|
+
wisent/core/agent/diagnose/select_classifiers.py,sha256=Uv5dxEmZRjjkZKmVmYQ1jC_XJVyM2MF5dv-4QRuTWKY,18320
|
|
97
|
+
wisent/core/agent/diagnose/synthetic_classifier_option.py,sha256=p_za96LiSXDg0uxvypG0dPMWqirA2srYFpkRTLGCR0Q,32483
|
|
98
|
+
wisent/core/agent/diagnose/test_synthetic_classifier.py,sha256=EWPPHtoND797XfoUjNZcmcuBp8w3PYm4YIBu1JXhzPE,2688
|
|
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=_zghw6c8iisW_SqBIUCoAnzhc5q7t5EgZ4zzTPxeLwQ,1129
|
|
106
|
+
wisent/core/contrastive_pairs/core/buliders.py,sha256=VWe4StOd3SsV0FBzg8b_2KG_ARiIITrwkfHR5xZNBxk,1975
|
|
107
|
+
wisent/core/contrastive_pairs/core/pair.py,sha256=VsoEXnZ8wpwuictZRpjp1O8pTeMnHvIn-jn01NIA5CI,8095
|
|
108
|
+
wisent/core/contrastive_pairs/core/response.py,sha256=bEUqW53jE7uGEdHFsu3pw209aHxcAORykYcXW-JdWUY,6147
|
|
109
|
+
wisent/core/contrastive_pairs/core/serialization.py,sha256=zpF5BZMFYb-ltD69Xuy53w7qnQ1b5OdkGNVR4pfWbZ8,11157
|
|
110
|
+
wisent/core/contrastive_pairs/core/set.py,sha256=8N1jN0bbuklkhhcDegd0L6Oc9Tv9fFFfoP1LlZSWVNU,4624
|
|
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=ypRTEpVzSQDXEqyN-t7ssMoEcM44W8qABwImETEYO9o,6037
|
|
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=iSvDrDlwvhdD8T6aT1NylUiyu8qRCdZzrMFWw1j7Sjg,8575
|
|
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=DQn4bKRIC6fSpXvTzXxwCcrVe3EKZZesBG30qTCWeHc,4388
|
|
122
|
+
wisent/core/contrastive_pairs/lm_eval_pairs/lm_task_pairs_generation.py,sha256=Q128ATWcfE6NaQOm0O5oMtVRZbXzkeJMlkfCiGNkjyo,1657
|
|
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=rdBYDVlOifA4m5AXLTp9_ttkn2MFs9Yulg371WOjL1s,4044
|
|
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=sjSS5Eb136hE29dHpKaMA0ohADc0k2iBj_PjpC40GuM,3470
|
|
128
|
+
wisent/core/data_loaders/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
|
+
wisent/core/data_loaders/loaders/custom.py,sha256=Xe1sOHH3_dRjBnQg9vwMM-XA8ROn65dUr9TeT-nuNtQ,4144
|
|
130
|
+
wisent/core/data_loaders/loaders/lm_loader.py,sha256=3ZLi3UnoePd0YgubMlT4CTVWtfpbEHVfvi8QKVq0-Zw,7812
|
|
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=f3v2_N17fKzGyeOxONRJbrbn8i5uMeZmRvMmF0ShNf0,2638
|
|
134
|
+
wisent/core/evaluators/oracles/nlp_evaluator.py,sha256=KxbnF-I2IFbBQpoYyjQKGbYh4NErsEuhTCRYX_Tob8o,18220
|
|
135
|
+
wisent/core/evaluators/oracles/user_specified.py,sha256=V1dKrNj3Oq7UC_I7DT0WGnktP7R_DSW6UAwDdrA8SnE,2360
|
|
136
|
+
wisent/core/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
+
wisent/core/models/wisent_model.py,sha256=yJBcz3GjR7O-ySTV2vvOsOrL9xDvXsG0W9Gr0HR_0sc,28729
|
|
138
|
+
wisent/core/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
|
+
wisent/core/models/core/atoms.py,sha256=_Bpz0Sfiq6_VswThIltUwNGj_ukl5MhAg8RrgMKwEBM,15756
|
|
140
|
+
wisent/core/optuna/__init__.py,sha256=sTfwRnrRyKrCNVsF_qCjBDFEZC0ZmUZ7m6IE0iHfTVs,1914
|
|
141
|
+
wisent/core/optuna/classifier/__init__.py,sha256=vv2wCAbw8ccZxq3vxrQt9plUdbr7VJj-t2rRnh6jBR8,819
|
|
142
|
+
wisent/core/optuna/classifier/activation_generator.py,sha256=K384F_r65z-9f1scr6DoNNzlD1OCVEY9W5TxXilDM5E,14331
|
|
143
|
+
wisent/core/optuna/classifier/classifier_cache.py,sha256=Ng6M8MZoMQx0SpoeVb1ZAmQcVgxzEhlVnDM5RSp1eFo,17380
|
|
144
|
+
wisent/core/optuna/classifier/optuna_classifier_optimizer.py,sha256=OHcUE1Kl_KY0X3Kqp0K_VBIeptp_tqqpCnFVNil9Q_E,22392
|
|
145
|
+
wisent/core/optuna/steering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
+
wisent/core/optuna/steering/bigcode_evaluator_wrapper.py,sha256=e3rdGkYPcvRoBzCPpN7xfL7T6Vbt3X9LCLTA39jC23A,6641
|
|
147
|
+
wisent/core/optuna/steering/data_utils.py,sha256=adgA8gXaHLbllhOKspmPxe0tjRZKrc4M8tqs7IQDrK4,12195
|
|
148
|
+
wisent/core/optuna/steering/metrics.py,sha256=Tf4WC3jaVcke5yFMLkBfbc8fhA96TdnL4hXXfGgJ8WM,20378
|
|
149
|
+
wisent/core/optuna/steering/optuna_pipeline.py,sha256=i71osz12k--TGJzd33eH7J0ngQnEJm7gW1LBSS2PBg0,74792
|
|
150
|
+
wisent/core/optuna/steering/steering_optimization.py,sha256=JNtgIWD4b5D7a_VTVlVf7M-yGBItp9p_6g73UhBsGp4,45495
|
|
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=V-wgz8OPya550p_rkbOkiH-QBzjF3xmnqafCEcNMnuY,5671
|
|
155
|
+
wisent/core/prompts/prompt_stratiegies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
wisent/core/prompts/prompt_stratiegies/direct_completion.py,sha256=CZq2P1CIyg7yOUS9rwv2KL-lEZDzyrAO4f95lNsujgA,794
|
|
157
|
+
wisent/core/prompts/prompt_stratiegies/instruction_following.py,sha256=ZZ4jM7yo5xZn4-QUt-tFDr37eiZK9TBy5Ygl6xdXP_g,802
|
|
158
|
+
wisent/core/prompts/prompt_stratiegies/multiple_choice.py,sha256=vWYEjvm8zt8g1f1hH9t_hgFhmb-kyJSvsxtZWpSRe-8,867
|
|
159
|
+
wisent/core/prompts/prompt_stratiegies/role_playing.py,sha256=pWNopxpziTGf3hrmBkTuLm1HNKb_pnnka2MTdcNWOEY,1066
|
|
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=v8DcO4SSmJXv8KFaYs-A4nR4D2is7Q5SEdFJlZ2SCTg,5420
|
|
163
|
+
wisent/core/steering_methods/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
|
+
wisent/core/steering_methods/methods/caa.py,sha256=CsMf1QvyywOr0nWehDQDn17IKAZ3qysURwPP6Jgbu5w,1683
|
|
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=fSGrZzHXvOFz3X0V_80CPvSLT5cQeMWW4OT2QcunlA0,13087
|
|
179
|
+
wisent/core/trainers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
180
|
+
wisent/core/trainers/steering_trainer.py,sha256=JAdYwPhiakqN70WLqpZFZBsGHu2yed5v-TSM7ppjKJc,10557
|
|
181
|
+
wisent/core/trainers/core/__init__.py,sha256=D0JX0-XCHdtLrCXhVDHNQafvyWCvJ4-o4UKtkH1lI1k,1257
|
|
182
|
+
wisent/core/trainers/core/atoms.py,sha256=ycWk0G-7EIAEOnQL-o5_V5B8KTQ7CQUilGF4ibjighM,1536
|
|
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=U7F3y6weqe6d9SdhR_w2KyGuu_8X27bkuCn4lHrVCw8,6842
|
|
188
|
+
wisent/opti/methods/opti_steering.py,sha256=Xh1GZKW6DOobJk88txEw7EQaHU9tVWqnyJOqPe8VvAo,5376
|
|
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=CjURqXjh0j1ESJD6-cDoxmAmwC2cWVHDt6j8f7-ePSM,1556
|
|
192
|
+
wisent/synthetic/cleaners/pairs_cleaner.py,sha256=c6UzgbGL-8np9GA8EnX3zZGSExdVcMzIntGtNtGm2Ak,3835
|
|
193
|
+
wisent/synthetic/cleaners/refusaler_cleaner.py,sha256=VdKSxk9Fm-c4GY0vgcyvW28OPz3iNpfKnzPSNDywih8,5350
|
|
194
|
+
wisent/synthetic/cleaners/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
|
+
wisent/synthetic/cleaners/core/atoms.py,sha256=XUrgDhrPs77gCWq9y4VSDaC4WlylRrT1o9vrZjtpB7Y,1350
|
|
196
|
+
wisent/synthetic/cleaners/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
|
+
wisent/synthetic/cleaners/methods/base_dedupers.py,sha256=-FBpIA-EDQ5EqIcYz8oYN7yD2s-7kxOR25MqGE1KmP0,11698
|
|
198
|
+
wisent/synthetic/cleaners/methods/base_refusalers.py,sha256=a6a5kyXlsJESLYBI0LOUVNVAS1ObOJEONcmF9Leugyo,10324
|
|
199
|
+
wisent/synthetic/cleaners/methods/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
200
|
+
wisent/synthetic/cleaners/methods/core/atoms.py,sha256=kxD-CnS-u2GXAiezNYEQJ0asgxbMpmR4sXroSz5QjxE,1563
|
|
201
|
+
wisent/synthetic/db_instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
202
|
+
wisent/synthetic/db_instructions/mini_dp.py,sha256=HgRDwofFdvRyQnTfFwGiCokP3ret03GrQEI13gb7V9I,1780
|
|
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=RfpPdBTqNyWHtYS3ZT4WX_0h5fXLDSDTLXtoRXRcp2k,6551
|
|
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=Z2UzTbzyJFM_ToxCoXM_LQQQ1Jc6BZknrbpikTG1MRw,8522
|
|
214
|
+
wisent-0.5.2.dist-info/licenses/LICENSE,sha256=wy0iaw8b2tyqZAfKHib3lP3PJ9o88FDCg92oUHh3sDQ,1073
|
|
215
|
+
wisent-0.5.2.dist-info/METADATA,sha256=IRtye3gZz9T6U3O0fFUap_xvO1rcnnE52hWlIKvPq4g,2424
|
|
216
|
+
wisent-0.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
217
|
+
wisent-0.5.2.dist-info/top_level.txt,sha256=2Ts9Iyldnb3auIN2HBBaHPknRy7nSRDm2f6RGzYgr8A,7
|
|
218
|
+
wisent-0.5.2.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()
|