Views
No views yet
1{
2 "hidden_size": 256,
3 "num_hidden_layers": 6,
4 "num_attention_heads": 4,
5 "vocab_size": 32768
6}1from transformers import AutoModel, AutoTokenizer
2
3tokenizer = AutoTokenizer.from_pretrained("evm-alpha/semantic-evm-mlm-chkp1000")
4model = AutoModel.from_pretrained("evm-alpha/semantic-evm-mlm-chkp1000")
5
6# This tokenizer uses byte-level BPE (GPT-2 style).
7# You must convert raw bytes to the GPT-2 unicode format:
8
9def bytes_to_unicode_map():
10 """GPT-2 byte-to-unicode mapping."""
11 bs = list(range(ord("!"), ord("~") + 1)) + list(range(ord("¡"), ord("¬") + 1)) + list(range(ord("®"), ord("ÿ") + 1))
12 cs = bs[:]
13 n = 0
14 for b in range(256):
15 if b not in bs:
16 bs.append(b)
17 cs.append(256 + n)
18 n += 1
19 return dict(zip(bs, [chr(c) for c in cs]))
20
21BYTE_MAP = bytes_to_unicode_map()
22
23def encode_evm_bytes(data: bytes) -> str:
24 """Convert raw EVM bytes to tokenizer input string."""
25 return "".join(BYTE_MAP[b] for b in data)
26
27# Example: encode raw EVM bytecode
28bytecode_hex = "608060405234801561001057600080fd5b50"
29raw_bytes = bytes.fromhex(bytecode_hex)
30tokenizer_input = encode_evm_bytes(raw_bytes)
31
32inputs = tokenizer(tokenizer_input, return_tensors="pt")
33outputs = model(**inputs)
34
35# Get embeddings (mean pooling)
36embeddings = outputs.last_hidden_state # [batch, seq_len, hidden_size]
37mask = inputs["attention_mask"].unsqueeze(-1)
38pooled = (embeddings * mask).sum(1) / mask.sum(1)1@misc{evm-semanticbytecode,
2 author = {evm-alpha},
3 title = {EVM SemanticBytecode},
4 year = {2026},
5 url = {https://huggingface.co/evm-alpha/semantic-evm-mlm-chkp1000}
6}