CrisperWhisper2.0_large-ggml / implementation_plan.md
shrisha's picture
Update docs: corrected checksums, rebuild script, token-layout notes
e8ed05e verified
|
Raw
History Blame Contribute Delete
2.6 kB
# Implementation Plan - Convert CrisperWhisper 2.0 Large to GGML/GGUF for SmartScribe
Convert the Hugging Face model [nyralabs/CrisperWhisper2.0_large](https://huggingface.co/nyralabs/CrisperWhisper2.0_large) to GGML format and quantize it to `q8_0` for use with SmartScribe's `whisper.cpp` engine.
## User Review Required
> [!IMPORTANT]
> **Model Download Size & Processing**: The `nyralabs/CrisperWhisper2.0_large` weights are ~3 GB. Downloading the model, converting to GGML (f16 format ~3 GB), and quantizing to `Q8_0` will require approximately 6-8 GB of temporary local disk space.
>
> **Format Note**: SmartScribe uses `whisper.cpp` for Whisper architecture models, which expects GGML format (quantized as `q8_0` binary). We will produce `ggml-crisperwhisper2.0-large-q8_0.bin` and provide full conversion instructions and catalog integration.
## Proposed Steps
### 1. Model Download & Preparation
- Download model configuration, tokenizer, and safetensors weights from `nyralabs/CrisperWhisper2.0_large` using `huggingface-cli` or Python into a local workspace directory (`models/CrisperWhisper2.0_large`).
### 2. GGML Conversion
- Run `native/whisper-vulkan-addon/third_party/whisper.cpp/models/convert-h5-to-ggml.py` using Python (referencing `whisper/` for mel-filter assets).
- Output intermediate float16 binary `ggml-crisperwhisper2.0-large-f16.bin`.
### 3. Quantization
- Build the `quantize` utility in `native/whisper-vulkan-addon/third_party/whisper.cpp/build` if not already built.
- Quantize the f16 binary to `ggml-crisperwhisper2.0-large-q8_0.bin` (`q8_0`).
### 4. Catalog Integration & Verification
- Verify shasum 256 and binary integrity.
- Document conversion log in `release/whisper-crisperwhisper2.0-large-ggml/CONVERSION.md`.
- Add catalog entry for `whisper-crisperwhisper2.0-large-q8` in `src/shared/models-catalog.ts` (if enabled in settings).
## Proposed Changes
### [NEW] `release/whisper-crisperwhisper2.0-large-ggml/CONVERSION.md`
- Conversion log documentation detailing environment, download steps, conversion script invocation, and shasum checksums.
### [MODIFY] [models-catalog.ts](file:///Users/shrisha/Dev/Smartscribe_cleanup/src/shared/models-catalog.ts)
- Add entry for CrisperWhisper 2.0 Large (`whisper-crisperwhisper2.0-large-q8`) to `AVAILABLE_LOCAL_MODELS`.
## Verification Plan
### Manual Verification
1. Verify `ggml-crisperwhisper2.0-large-q8_0.bin` creation and non-zero byte size (~1.5 GB).
2. Test loading and transcribing a sample audio file (`jfk.wav`) using `test-whisper.js` / node script with the converted binary model.