bitnet-gpt2-1.58bit / verify_bitnet.py
Chris4K's picture
Upload folder using huggingface_hub
07bfa7f verified
"""
Verify this model is true BitNet (96%+ ternary weights)
"""
import torch
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Chris4K/bitnet-gpt2-1.58bit")
total = 0
ternary = 0
for name, param in model.named_parameters():
if 'weight' in name:
flat = param.data.flatten()
is_ternary = (
torch.isclose(flat, torch.tensor(-1.0), atol=1e-3) |
torch.isclose(flat, torch.tensor(0.0), atol=1e-3) |
torch.isclose(flat, torch.tensor(1.0), atol=1e-3)
)
ternary += is_ternary.sum().item()
total += len(flat)
print(f"Ternary percentage: {ternary/total*100:.2f}%")
print("PASS: Real BitNet!" if ternary/total > 0.8 else "FAIL: Fake!")