Skip to main content

Collection of utilities for AI/ML model analysis and processing

Project description

dolphin-utils

A collection of utilities for AI/ML model analysis and processing.

dolphin-summarize

This tool analyzes safetensors model files to generate a condensed summary of the model's architecture. It groups similar parameter names using range notation (e.g., model.layers.[0-39].mlp.down_proj.weight) and displays the shape and data type (precision) for each parameter group.

Key Features:

  • Remote Processing: Analyze Hugging Face models without downloading the full model files (downloads only headers - KB instead of GB)
  • Local Processing: Works with locally stored model directories
  • Efficient: Uses HTTP range requests and streaming to minimize data transfer
  • Reliable: Multiple fallback strategies ensure 100% compatibility

Dependencies

  • Python 3.7+
  • huggingface_hub - For accessing Hugging Face repositories
  • requests - For HTTP requests and remote file access
  • safetensors - For reading safetensors file headers

All dependencies are automatically installed when you install the package:

pip install dolphin-utils

Usage

After installing the package:

pip install dolphin-utils

You can use the tool in two ways:

Via CLI command:

dolphin-summarize [MODEL_PATH_OR_REPO_ID] [OPTIONS]

Via Python module:

python -m dolphin_summarize [MODEL_PATH_OR_REPO_ID] [OPTIONS]

Arguments:

  • MODEL_PATH_OR_REPO_ID:
    • Local path: Directory containing safetensors files (e.g., ~/models/my_llama_model)
    • Hugging Face repo ID: Repository identifier (e.g., microsoft/DialoGPT-medium)
    • Defaults to current directory (.) if not provided

Options:

  • --output OUTPUT, -o OUTPUT: Path to an output file where the summary will be written (optional).
  • --verbose, -v: Show verbose output during processing (optional).

Examples

Remote Processing (Hugging Face Hub):

# Process a model directly from Hugging Face without downloading
python -m dolphin_summarize microsoft/DialoGPT-medium --verbose

# Large models work too - only headers are downloaded
python -m dolphin_summarize meta-llama/Llama-2-70b-hf --verbose

Local Processing:

# Process a local model directory
python -m dolphin_summarize ~/models/my_llama_model --verbose

# Process current directory
python -m dolphin_summarize . --verbose

Output Format

The script prints the summary to the console (and optionally to a file). Each line represents a parameter or a group of parameters with a similar structure:

parameter_name,[shape],dtype

Example Output Lines:

lm_head.weight,[131072,5120],BF16
model.embed_tokens.weight,[131072,5120],BF16
model.layers.[0-39].input_layernorm.weight,[5120],BF16
model.layers.[0-39].mlp.down_proj.weight,[5120,13824],BF16
model.layers.[0-39].mlp.gate_proj.weight,[13824,5120],BF16
model.layers.[0-39].mlp.up_proj.weight,[13824,5120],BF16
model.layers.[0-39].post_attention_layernorm.weight,[5120],BF16
model.layers.[0-39].self_attn.k_proj.weight,[512,5120],BF16
model.layers.[0-39].self_attn.o_proj.weight,[5120,8192],BF16
model.layers.[0-39].self_attn.q_proj.weight,[8192,5120],BF16
model.layers.[0-39].self_attn.v_proj.weight,[512,5120],BF16
model.norm.weight,[5120],BF16

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dolphin_utils-0.4.1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dolphin_utils-0.4.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file dolphin_utils-0.4.1.tar.gz.

File metadata

  • Download URL: dolphin_utils-0.4.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/8.5.0 pkginfo/1.12.1.2 requests/2.32.4 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.12.2

File hashes

Hashes for dolphin_utils-0.4.1.tar.gz
Algorithm Hash digest
SHA256 539c421e6bcc512b48516e097f7cb6368c198dd6e20db32cb93f0eb9340856d2
MD5 4d4ba88608d7db22f7a8dab06ede5789
BLAKE2b-256 2f5fdf6011265567dd8c1ec613b146fead0dc9be978f32432f193335e1fe115b

See more details on using hashes here.

File details

Details for the file dolphin_utils-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: dolphin_utils-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/8.5.0 pkginfo/1.12.1.2 requests/2.32.4 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.12.2

File hashes

Hashes for dolphin_utils-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e2492b1aa91e76d111216c2cd0be821e4287757dd6cee720d0870d5a63607e6
MD5 ed756fc8524e910b8d70d494156139da
BLAKE2b-256 01f9b16db2e4b9b5da15995a7e212a857245ed37837e1745bdbda04d17288399

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page