groxaxo/octen-embedding-4b-w4a16

🤗 Hugging Face 来源text-generationapache-2.0875M 参数3.4 GBsafetensors✓ 2 个校验和今天更新
一条命令提交

在你的模型文件夹旁边运行它。它会制作种子、将文件与 Hugging Face 比对,然后提交。你只需开始做种,并粘贴你账户中的密钥。它只读取你的文件,绝不修改。如果愿意,可以先阅读脚本。

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo groxaxo/octen-embedding-4b-w4a16 ./model-folder
需要做种者 →

Octen-Embedding-4B W4A16

Overview

octen-embedding-4b-w4a16 is a weight-quantized checkpoint intended for efficient GPU inference, published by groxaxo. It is intended for open-source evaluation, reproducible experimentation, and compatible local or hosted inference workflows. The wording below is deliberately limited to what can be verified from this repository's metadata and artifacts.

At a glance

Field Details
Format AWQ / AutoRound
Source / base Octen/Octen-Embedding-4B
Intended task feature-extraction
License apache-2.0

What is included

  • *.safetensors (1 file)
  • config.json
  • generation_config.json
  • tokenizer.json
  • tokenizer_config.json
  • chat_template.jinja
  • quantization_config.json
  • Additional configuration, tokenizer, processor, or shard files (8 visible artifacts total)

Quick start

vLLM (AWQ-compatible runtimes)

vllm serve groxaxo/octen-embedding-4b-w4a16 \
  --quantization awq_marlin \
  --dtype float16 \
  --trust-remote-code

The exact kernel and flags depend on the quantizer and architecture. Check the files and source model card before selecting a production serving configuration.

Compatibility and responsible use

  • Use a runtime that explicitly supports this format, architecture, and modality.
  • Keep configuration, tokenizer, processor, projection, and weight files from the same revision together.
  • Review the source model card and license before redistribution or deployment.
  • Hardware needs depend on parameter count, context length, cache precision, quantization, and concurrency.
  • Report reproducible issues with the runtime version, hardware, launch command, and a minimal example.

Quantization or conversion changes numerical behavior, memory use, and throughput relative to the source checkpoint; validate quality on your own workload.

Generated outputs may be inaccurate or unsuitable for a given use case. Users are responsible for testing behavior, applying appropriate safeguards, and complying with applicable licenses and laws.

This repo contains a W4A16 quantized version of Octen/Octen-Embedding-4B in the validated auto-round-auto-gptq format.

Quantization

Item Value
Base model Octen/Octen-Embedding-4B
Quantization W4A16, 4-bit weights / 16-bit activations
Tooling AutoRound 0.12.2, transformers 5.6.2, torch 2.6.0+cu124
Calibration 8 samples, seqlen 512, 200 iterations, float32 tuning
Quantized size 3.3 GB
Base size 7.6 GB
Compression ~2.3x
Embedding dim 2560
Layers quantized 252/253; lm_head skipped due shape divisibility

Validation vs base model

Evaluation used a small retrieval set of 5 query-document pairs, last-token pooling, L2 normalization, and cosine similarity.

Metric Base W4A16 Delta
Recall@1 1.0 1.0 0.0
Recall@5 1.0 1.0 0.0
Mean query cosine, base vs quant — 0.9783 —
Mean doc cosine, base vs quant — 0.9777 —

Assessment: retrieval did not degrade on the validation set. The embedding cosine is marginally below a strict 0.98 threshold, but Recall@1/Recall@5 were unchanged. A prior validation run showed query cosine 0.9799 and doc cosine 0.9790.

See validation-4b-auto-round-auto-gptq.json for the raw metrics.

RTX 3060 smoke test

This quantized model was loaded and run on an RTX 3060 12GB GPU.

Result Value
VRAM after load 2.50 GB
Single short-query forward pass 0.6s smoke test; later benchmark ~329ms
Output shape [1, 4, 2560]
Embeddings Valid normalized vectors; no NaNs observed

Recommended usage

import torch
from transformers import AutoModel, AutoTokenizer

model_id = "groxaxo/octen-embedding-4b-w4a16"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModel.from_pretrained(
    model_id,
    trust_remote_code=True,
    torch_dtype=torch.float16,
).cuda().eval()

texts = ["how to implement binary search"]
tokens = tokenizer(texts, padding=True, truncation=True, max_length=512, return_tensors="pt")
tokens = {k: v.cuda() for k, v in tokens.items()}

with torch.no_grad():
    out = model(**tokens)

emb = torch.nn.functional.normalize(out.last_hidden_state[:, -1, :], p=2, dim=-1)

Note: the model card records local validation and smoke-test results. For production use, evaluate on your own retrieval distribution.