Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gguf-hash: model wide and per tensor hashing using xxhash and sha1 #8048

Merged
merged 9 commits into from
Jul 7, 2024

Conversation

mofosyne
Copy link
Collaborator

@mofosyne mofosyne commented Jun 21, 2024

This is a WIP PR proposal for layer hashing and model hashing of each layer of a gguf model

I previously did an experiment attempting to make the hashing process independent of quantisation, but that turns out to have too many technical issue and plus the use case for such feature is uncertain.

This PR on the other hands focus only on just hashing each tensors as an opaque data area without caring to decode the content.

The application for this feature is as part of some ci flow so instead of storing test files outputs you can just store the expected hash output. You can use this then to check for regression. For this reason i added xxhash as it is a much faster than sha1 in hashing, but left sha1 in because it is more widely supported (e.g. built into python)

I also for the python hash implementation added a UUIDv5 generator, I plan to add that to the c side if it makes sense.
As one of my idea is that every model would have a unique UUID based on the model content. Would be happy to hear feedback about this as I plan to include it during model conversion processes. e.g.

UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf

Note that for the global model wide hashing, I just hash every tensor in the order that was dumped from the gguf file... so if the tensor order is swapped in the file then the hash will likely change.

(For this PR, I decided that KV store hash is outside of scope)

example of sha1 output of phi-2.Q6_K.gguf
llama.cpp/build/bin/llama-gguf-hash --sha1 phi-2.Q6_K.gguf
sha1    f1aadf6c8f15b3b054ae9d3f60aa5ff4071e8fc6  phi-2.Q6_K.gguf:token_embd.weight
sha1    d97de9adb709424da87ca5915471d5b45223e20c  phi-2.Q6_K.gguf:blk.0.attn_norm.bias
sha1    343ae33dcaeb0ed3a101fb6d85fb716c032b6f1a  phi-2.Q6_K.gguf:blk.0.attn_norm.weight
sha1    c4fe7501d7197b90026c41b840e855a090992e7d  phi-2.Q6_K.gguf:blk.0.attn_qkv.bias
sha1    7d65972e24b2986a4456df59d1971dd0b59e8570  phi-2.Q6_K.gguf:blk.0.attn_qkv.weight
sha1    3db8e5feebff91dd7211bb2253af438cd76a6460  phi-2.Q6_K.gguf:blk.0.attn_output.bias
sha1    b835822f312b53a20b73614e09eb940850ea5270  phi-2.Q6_K.gguf:blk.0.attn_output.weight
sha1    61fd92f347cf3bdd0d8958f5e64704b9ed55876d  phi-2.Q6_K.gguf:blk.0.ffn_up.bias
sha1    47c02240d0cd4b203917052a8e62df026380961a  phi-2.Q6_K.gguf:blk.0.ffn_up.weight
sha1    2745f525bbf680d6307ac4761fd4c4645e16b0cf  phi-2.Q6_K.gguf:blk.0.ffn_down.bias
sha1    83a4efabb426f73e756c2bef5b633e75bc88b63f  phi-2.Q6_K.gguf:blk.0.ffn_down.weight
sha1    4f0efdd13cf05c3b1e3dcbdcbd1edde365f246de  phi-2.Q6_K.gguf:blk.1.attn_norm.bias
sha1    409028ac9676db7a5cbc3d5c60e2fc7df947aed8  phi-2.Q6_K.gguf:blk.1.attn_norm.weight
sha1    f14ba4a1778166f2838b3aabfe7e43647624ad55  phi-2.Q6_K.gguf:blk.1.attn_qkv.bias
sha1    abc2c240de26e4b0dfe069fe13fd042a656ebf7a  phi-2.Q6_K.gguf:blk.1.attn_qkv.weight
sha1    d48d8f87a040e08804935dc29d53987ca330d0e0  phi-2.Q6_K.gguf:blk.1.attn_output.bias
sha1    f481e5d03c83a6e548df9f0a62eea621f2186b77  phi-2.Q6_K.gguf:blk.1.attn_output.weight
sha1    2991c80ed7ecfff3ba81cd93b9cba04a1c07817e  phi-2.Q6_K.gguf:blk.1.ffn_up.bias
sha1    6a503b817b1d6c2f500bc6c8a3048cfe3842f3c5  phi-2.Q6_K.gguf:blk.1.ffn_up.weight
sha1    f0a960467c6a70d2ea22c55d7ab281240a905399  phi-2.Q6_K.gguf:blk.1.ffn_down.bias
sha1    2b10bcb0105612128d08ebfcbdbc11bd274c4fec  phi-2.Q6_K.gguf:blk.1.ffn_down.weight
sha1    e785d063f83511c08bfd8cf588a2ab5fb885a3b3  phi-2.Q6_K.gguf:blk.10.attn_norm.bias
sha1    b8639bbd78ce0dfb7fa2d526600d98c3ed4043db  phi-2.Q6_K.gguf:blk.10.attn_norm.weight
sha1    e16bd0a0320fcf7307c92a64fcd688452a5e64f4  phi-2.Q6_K.gguf:blk.10.attn_qkv.bias
sha1    0e3b15e89bbe93f06af155453c1b88290b4b14b8  phi-2.Q6_K.gguf:blk.10.attn_qkv.weight
sha1    b3c500db628e017931ebfb69fdcf28316c4a1960  phi-2.Q6_K.gguf:blk.10.attn_output.bias
sha1    610bfd107ca4ee102a0fda647b73aed882765b0b  phi-2.Q6_K.gguf:blk.10.attn_output.weight
sha1    74a75ed38bcdd398790b5d724fd83d31bd6b17ca  phi-2.Q6_K.gguf:blk.10.ffn_up.bias
sha1    4e21c5f468b58a351a35e5f506cdb937ad47044e  phi-2.Q6_K.gguf:blk.10.ffn_up.weight
sha1    9af1042c62ac53db3fe7a98c6ed2a0b89f91602f  phi-2.Q6_K.gguf:blk.10.ffn_down.bias
sha1    87166c89dced28e5340a23d46e0c609959e7a146  phi-2.Q6_K.gguf:blk.10.ffn_down.weight
sha1    17ce9ef2a12803154d11c497dd7f3c19de5dbc32  phi-2.Q6_K.gguf:blk.11.attn_norm.bias
sha1    fbc4892ea1695e518691407dd416d156b96a4f89  phi-2.Q6_K.gguf:blk.11.attn_norm.weight
sha1    bcd52387e321cc3f4ead954076d1ca137eb3dafa  phi-2.Q6_K.gguf:blk.11.attn_qkv.bias
sha1    5622c6872614d2b123af54d38131d0783d179222  phi-2.Q6_K.gguf:blk.11.attn_qkv.weight
sha1    ac49c641dece6d61f8fad613e0e016ee1a03b5e2  phi-2.Q6_K.gguf:blk.11.attn_output.bias
sha1    a6f66ceee4ec44db1db9502fd7e479a3557f7158  phi-2.Q6_K.gguf:blk.11.attn_output.weight
sha1    3ee2919331ddde2c3477239df9af462d5717d518  phi-2.Q6_K.gguf:blk.11.ffn_up.bias
sha1    2767af688da39166f5a105fdb4d7d1004b2c3873  phi-2.Q6_K.gguf:blk.11.ffn_up.weight
sha1    9e75431f41272035fb10b2d615ff4081fa1a213c  phi-2.Q6_K.gguf:blk.11.ffn_down.bias
sha1    6d8420da8ab952a6ef826df7f975cb7fbd18bbaa  phi-2.Q6_K.gguf:blk.11.ffn_down.weight
sha1    4ce0f84a40b1d52afc7ec2b6860ebd5818aa21de  phi-2.Q6_K.gguf:blk.12.attn_norm.bias
sha1    70fd4b86bb51b001115efcfd2bc6afe87f8231ec  phi-2.Q6_K.gguf:blk.12.attn_norm.weight
sha1    8f3da64face90cd046de1751a14838d5cd6da521  phi-2.Q6_K.gguf:blk.12.attn_qkv.bias
sha1    abf7bdd5097c8a82d691babc690fce40bc0401b9  phi-2.Q6_K.gguf:blk.12.attn_qkv.weight
sha1    515456b2f2b2c1319a9d49b1b5d2422ce912c8af  phi-2.Q6_K.gguf:blk.12.attn_output.bias
sha1    1461952474b17df25bb30ee417d055e5939fe448  phi-2.Q6_K.gguf:blk.12.attn_output.weight
sha1    b36d1818617046c4c78d63b1f07d5bfb19a4a375  phi-2.Q6_K.gguf:blk.12.ffn_up.bias
sha1    438c80243a9f5e1c78bf2dc47ef0330a8a387a1d  phi-2.Q6_K.gguf:blk.12.ffn_up.weight
sha1    2129fec8ed8bbee4a3df58f812ec9e14372cb69e  phi-2.Q6_K.gguf:blk.12.ffn_down.bias
sha1    714de5a9ede41dc79ef3ddde08ad4b829d67a12f  phi-2.Q6_K.gguf:blk.12.ffn_down.weight
sha1    defef93c0451e9197b26cadb4f7d376f9a465372  phi-2.Q6_K.gguf:blk.13.attn_norm.bias
sha1    9b6d340580d5dd4b791f2f1bc0e68d2ed3c7809c  phi-2.Q6_K.gguf:blk.13.attn_norm.weight
sha1    76c0878a62e244dc11cb81d6e4eff53583d94166  phi-2.Q6_K.gguf:blk.13.attn_qkv.bias
sha1    f94fa8fc0f92057dcdb362f786ce84fb6ea8198b  phi-2.Q6_K.gguf:blk.13.attn_qkv.weight
sha1    7f01f2a48fb530a30f6c3b47ce913a28c22738f4  phi-2.Q6_K.gguf:blk.13.attn_output.bias
sha1    40ac50aadd96afadf89cc6e32e2426220f9e6f12  phi-2.Q6_K.gguf:blk.13.attn_output.weight
sha1    fac0e470d301511f790effce00c2bb3cdde804b3  phi-2.Q6_K.gguf:blk.13.ffn_up.bias
sha1    689b56de9b038d882a234610334ed16c04927d39  phi-2.Q6_K.gguf:blk.13.ffn_up.weight
sha1    6ba25503ae077639708de5c7a358112abe54b4b6  phi-2.Q6_K.gguf:blk.13.ffn_down.bias
sha1    b9c8b13e21a598e70246e0bda2194fd9bd623d9f  phi-2.Q6_K.gguf:blk.13.ffn_down.weight
sha1    7fb4be92097fc9045581ba6cdfb041f24ed9fecf  phi-2.Q6_K.gguf:blk.14.attn_norm.bias
sha1    902259df1c387011e0ac34f75357dfd200fb6c5e  phi-2.Q6_K.gguf:blk.14.attn_norm.weight
sha1    41b733948bcfd86054b7f581cf380e33af578dfd  phi-2.Q6_K.gguf:blk.14.attn_qkv.bias
sha1    0147fccc16871892d56621cd0e1294971f86b2e1  phi-2.Q6_K.gguf:blk.14.attn_qkv.weight
sha1    840856c9040fa4c974cad2642a245d392dc088f6  phi-2.Q6_K.gguf:blk.14.attn_output.bias
sha1    00584279d197668a7895eeabfc1df25d96288cc9  phi-2.Q6_K.gguf:blk.14.attn_output.weight
sha1    cfe77392ff15a533c7e4915644cd063287de2e28  phi-2.Q6_K.gguf:blk.14.ffn_up.bias
sha1    3c039030c56a2d6edcf505e2a83a96a6f90f9b4e  phi-2.Q6_K.gguf:blk.14.ffn_up.weight
sha1    22631e2a3f6d8c82a2cdf498a8a3c91d17cd1c4f  phi-2.Q6_K.gguf:blk.14.ffn_down.bias
sha1    934a04cc8fd0e2d7b892121640bd4dde82890c2d  phi-2.Q6_K.gguf:blk.14.ffn_down.weight
sha1    822924574f10ccf786bf948156c3023ac45ab1b2  phi-2.Q6_K.gguf:blk.15.attn_norm.bias
sha1    64f70aee2ecf155d85f122b6c95e1ac04025cea8  phi-2.Q6_K.gguf:blk.15.attn_norm.weight
sha1    c6ebcdd3eb0083ebdba7d1a6cb1c34e71f8999d4  phi-2.Q6_K.gguf:blk.15.attn_qkv.bias
sha1    f97ce90700a4bb4cc4686808ca6be2ea2fc3c65b  phi-2.Q6_K.gguf:blk.15.attn_qkv.weight
sha1    f34be9de7aad7cddb6fbc9ab17835fb08d4d456d  phi-2.Q6_K.gguf:blk.15.attn_output.bias
sha1    4f7c0d6074442bdff7aa06ca1bf82d37212602b3  phi-2.Q6_K.gguf:blk.15.attn_output.weight
sha1    1e2b355877c3fb9dc608112403331523ab7ab022  phi-2.Q6_K.gguf:blk.15.ffn_up.bias
sha1    b59a6cc9a00ae27879ee37857d238d7fc57c7bb1  phi-2.Q6_K.gguf:blk.15.ffn_up.weight
sha1    92a8cd227aa2dcf233aab64e64722c3a5bf8bb42  phi-2.Q6_K.gguf:blk.15.ffn_down.bias
sha1    4e70b8b3b0bd1fa0aac6f1c0881efac7a1985198  phi-2.Q6_K.gguf:blk.15.ffn_down.weight
sha1    a9d61976bb732512ec54450a77a113066bf13e44  phi-2.Q6_K.gguf:blk.16.attn_norm.bias
sha1    89a4681aa305542b5adba341713359a4a313de17  phi-2.Q6_K.gguf:blk.16.attn_norm.weight
sha1    dbc99010e2e2d536f5703ec9667b3986c14c66c0  phi-2.Q6_K.gguf:blk.16.attn_qkv.bias
sha1    0e1e5a570ff153270409efc6183e3af9f5bb6252  phi-2.Q6_K.gguf:blk.16.attn_qkv.weight
sha1    6203eb19001daaa6e807e8e7f9c9d1b4127674ab  phi-2.Q6_K.gguf:blk.16.attn_output.bias
sha1    b4cd6cd9a61230d9d8c5a2fc10188d92e13b72b4  phi-2.Q6_K.gguf:blk.16.attn_output.weight
sha1    4ba40b9a89881e6ef36d466ab13b1cfcc7408343  phi-2.Q6_K.gguf:blk.16.ffn_up.bias
sha1    714a2e50f007db1c6e35cd3247f85c01b229586a  phi-2.Q6_K.gguf:blk.16.ffn_up.weight
sha1    36321f8d5d13035dcdbe1b571a9e3d41f1eb269c  phi-2.Q6_K.gguf:blk.16.ffn_down.bias
sha1    f1a331fdda5206fc58434c7185c4b17db9627921  phi-2.Q6_K.gguf:blk.16.ffn_down.weight
sha1    88163d4db0c9f06e6dc489e064eddfd714934fb1  phi-2.Q6_K.gguf:blk.17.attn_norm.bias
sha1    68385309bcffbb66244f22b1c3ba57b22f02be0a  phi-2.Q6_K.gguf:blk.17.attn_norm.weight
sha1    12c8ef0da4484b20972243039e4cb3c9b833a7f7  phi-2.Q6_K.gguf:blk.17.attn_qkv.bias
sha1    3856bc9083e9d8b0273d4e7bb4c2f76a6d233a6b  phi-2.Q6_K.gguf:blk.17.attn_qkv.weight
sha1    f965cd13edc52114b8ce46b3f3132512da723d16  phi-2.Q6_K.gguf:blk.17.attn_output.bias
sha1    b82df6d31c0caa793d5f903cf5f70fbd9f79bbae  phi-2.Q6_K.gguf:blk.17.attn_output.weight
sha1    24e4c638de8428cf5a57bcf06e2a9c6a3a42b0b4  phi-2.Q6_K.gguf:blk.17.ffn_up.bias
sha1    b180282da0e3ed7429cae5ecad414dd9f4fc4371  phi-2.Q6_K.gguf:blk.17.ffn_up.weight
sha1    6c7d432e8daa17a0ab5cafe189df7ba33bdf0b43  phi-2.Q6_K.gguf:blk.17.ffn_down.bias
sha1    7ba789d84c5eaa29a813034bb037127934663d3e  phi-2.Q6_K.gguf:blk.17.ffn_down.weight
sha1    a33cf4030d8d464d6002ff0e9ab16ecf39635cf8  phi-2.Q6_K.gguf:blk.18.attn_norm.bias
sha1    a56a15082fb20b184ab6d069bbebc7386338b0a1  phi-2.Q6_K.gguf:blk.18.attn_norm.weight
sha1    01426c5f443aeadc27d16814ac7902fc9ecf07bc  phi-2.Q6_K.gguf:blk.18.attn_qkv.bias
sha1    8c9844580ab00570049b8bf1dc78da5d736dab78  phi-2.Q6_K.gguf:blk.18.attn_qkv.weight
sha1    c3674104f6c07a814f13aaed90766ec6827ee116  phi-2.Q6_K.gguf:blk.18.attn_output.bias
sha1    f0388491653bc16a1e37e7906f23afe22851654c  phi-2.Q6_K.gguf:blk.18.attn_output.weight
sha1    03b1341d7ee0b6aaccc5867245711e837357daba  phi-2.Q6_K.gguf:blk.18.ffn_up.bias
sha1    8b491d7966057983feaf683f7a51afa209c5adfb  phi-2.Q6_K.gguf:blk.18.ffn_up.weight
sha1    a0013613bdbf6b3702f4b295731b9f48ba1f9363  phi-2.Q6_K.gguf:blk.18.ffn_down.bias
sha1    be6cb50be65e6d384ae78b377554da31de7e72be  phi-2.Q6_K.gguf:blk.18.ffn_down.weight
sha1    5da197c9edca044ade4f582b6c4dcfea57b8380d  phi-2.Q6_K.gguf:blk.19.attn_norm.bias
sha1    a9d0ff8fdbfd730f2c20e96add6ed2882207dbd3  phi-2.Q6_K.gguf:blk.19.attn_norm.weight
sha1    9c2fcaac50ae79f21b3f9b6c4d1a656c2eca0173  phi-2.Q6_K.gguf:blk.19.attn_qkv.bias
sha1    eed4fd6f1f5fdef57e43731e2121a64d2edf19ee  phi-2.Q6_K.gguf:blk.19.attn_qkv.weight
sha1    52ff5f67a2b2206914d29599094ea84fd657cca2  phi-2.Q6_K.gguf:blk.19.attn_output.bias
sha1    f26f2109bf17a675f988714ba1fa5899877023b4  phi-2.Q6_K.gguf:blk.19.attn_output.weight
sha1    995650eb8f1b385d6462a907693120ab337fae30  phi-2.Q6_K.gguf:blk.19.ffn_up.bias
sha1    1e7cc0307e34dbe67cd248f51652fa236ec98d6f  phi-2.Q6_K.gguf:blk.19.ffn_up.weight
sha1    9619cfa8c677685a57100871de608a872d729598  phi-2.Q6_K.gguf:blk.19.ffn_down.bias
sha1    1600185de2842144f38993611488e42426c91aaa  phi-2.Q6_K.gguf:blk.19.ffn_down.weight
sha1    e755aeb95c5f04e1b400aaefc24ec100fafb307c  phi-2.Q6_K.gguf:blk.2.attn_norm.bias
sha1    c92459e49003f67b00223a0163da551db81a32c2  phi-2.Q6_K.gguf:blk.2.attn_norm.weight
sha1    365e8137d67661fb41534eff147d02049f57a2ae  phi-2.Q6_K.gguf:blk.2.attn_qkv.bias
sha1    9bcf62b66a055c0ebfa3e092100009817d6c9639  phi-2.Q6_K.gguf:blk.2.attn_qkv.weight
sha1    561e3af99f9b9ddc9afbb2cb9a28780aef2c320d  phi-2.Q6_K.gguf:blk.2.attn_output.bias
sha1    bdf79c56d4b52ab97037c16825b9226329f93740  phi-2.Q6_K.gguf:blk.2.attn_output.weight
sha1    66fe3f9a2a921a23b8f3cafde8912022976f20e1  phi-2.Q6_K.gguf:blk.2.ffn_up.bias
sha1    b655ccf8fa386bbaf25af8c1cbd5ff11c983abcb  phi-2.Q6_K.gguf:blk.2.ffn_up.weight
sha1    58a28e45266b19231bcfd88e817b0b743ea63845  phi-2.Q6_K.gguf:blk.2.ffn_down.bias
sha1    c9dc84a86ab54c1c05269076ed0285ce44bc7a9f  phi-2.Q6_K.gguf:blk.2.ffn_down.weight
sha1    042ff1c9f3361a96d4382b83b3aa4ce6a9d54bc6  phi-2.Q6_K.gguf:blk.20.attn_norm.bias
sha1    f91fadd3fd4f6f9375c766eb505a07c1059e1fbd  phi-2.Q6_K.gguf:blk.20.attn_norm.weight
sha1    2dffc6ce21d505972792213c80f5d069c102c38d  phi-2.Q6_K.gguf:blk.20.attn_qkv.bias
sha1    87861f920e10c151d5347589c24571cfd78bf00a  phi-2.Q6_K.gguf:blk.20.attn_qkv.weight
sha1    51ea950904cc0ae5439bb10787c3efa0a14370ca  phi-2.Q6_K.gguf:blk.20.attn_output.bias
sha1    ca09ddf8d39450fe97af67241961bd62169af308  phi-2.Q6_K.gguf:blk.20.attn_output.weight
sha1    6a862f65ba3969a3f016d8daf5ac29aa686a2f15  phi-2.Q6_K.gguf:blk.20.ffn_up.bias
sha1    3bec409bf39852ada25f4c9218cfe420595d736a  phi-2.Q6_K.gguf:blk.20.ffn_up.weight
sha1    c10808fb88ea9fc899d79fb397de2bfa3da5147b  phi-2.Q6_K.gguf:blk.20.ffn_down.bias
sha1    aceb8f40e5e267ec81983f5276081b179fff1ef9  phi-2.Q6_K.gguf:blk.20.ffn_down.weight
sha1    bd722f351dad034d62a27184b6d1750cd51074ff  phi-2.Q6_K.gguf:blk.21.attn_norm.bias
sha1    d26dc69450a4b532eb1d8fdfbc19b03a98a61595  phi-2.Q6_K.gguf:blk.21.attn_norm.weight
sha1    5e6a7e5cbbdacd54bef5fb54ced2c6e0aa83080f  phi-2.Q6_K.gguf:blk.21.attn_qkv.bias
sha1    47f0262bf2e8af7b296b57944a68f48488721afc  phi-2.Q6_K.gguf:blk.21.attn_qkv.weight
sha1    bc4a3e857d5863735fa11fca82488fcc5408197b  phi-2.Q6_K.gguf:blk.21.attn_output.bias
sha1    fcb3acc6e8cdcded0fbd45c9fccfc4a83fe81ff8  phi-2.Q6_K.gguf:blk.21.attn_output.weight
sha1    46c31924b3d9c27e8ba74a82248779e10a99aba1  phi-2.Q6_K.gguf:blk.21.ffn_up.bias
sha1    14add659f7d0c5aa1673718f4a646d07e836ad38  phi-2.Q6_K.gguf:blk.21.ffn_up.weight
sha1    25f669c900f198e3bb7c8f99d5f6cb93218de133  phi-2.Q6_K.gguf:blk.21.ffn_down.bias
sha1    9b0b428387c071288bf02a306048373da466f2dc  phi-2.Q6_K.gguf:blk.21.ffn_down.weight
sha1    c26738c56124eccaa2ae4924ab82c79a16e5551c  phi-2.Q6_K.gguf:blk.22.attn_norm.bias
sha1    1ef6fc2fbf90331b076fcedfed059d6e8dacbc71  phi-2.Q6_K.gguf:blk.22.attn_norm.weight
sha1    90c01ce72954aef891ac14732dd4602fc5704d69  phi-2.Q6_K.gguf:blk.22.attn_qkv.bias
sha1    14647ef3f2f8658ae31439b708cf12861cf70c3a  phi-2.Q6_K.gguf:blk.22.attn_qkv.weight
sha1    743d1d3e50da7c8b96ef4063d963f69990979945  phi-2.Q6_K.gguf:blk.22.attn_output.bias
sha1    374775320135851c8d1aa83db035cb0c39007d42  phi-2.Q6_K.gguf:blk.22.attn_output.weight
sha1    15197670bbd6e49e70def82693be2082100ce1ca  phi-2.Q6_K.gguf:blk.22.ffn_up.bias
sha1    ca012aa6c85587d206cc738ccf72a682cd10fb34  phi-2.Q6_K.gguf:blk.22.ffn_up.weight
sha1    61fd1391c7e1987f7aeaa79e308b7c9237881650  phi-2.Q6_K.gguf:blk.22.ffn_down.bias
sha1    19fa6e70a4e3c4f3d9931cc11e078f2da11d136b  phi-2.Q6_K.gguf:blk.22.ffn_down.weight
sha1    10808f5f28672fe0196c891263c80aba4e0bb155  phi-2.Q6_K.gguf:blk.23.attn_norm.bias
sha1    530fd10686c3a0cad52372096e997dbe3e5b3d87  phi-2.Q6_K.gguf:blk.23.attn_norm.weight
sha1    cd6b75595888d09eecd4e554146b1f959e3af961  phi-2.Q6_K.gguf:blk.23.attn_qkv.bias
sha1    f95ba5e93bc7ff3fc6614658a822739d5d3ad986  phi-2.Q6_K.gguf:blk.23.attn_qkv.weight
sha1    798ebeb246c7dcd83dd2d34b9e0de8451343d803  phi-2.Q6_K.gguf:blk.23.attn_output.bias
sha1    8da46cb2018fb9cbdd4c05292586fc8e3eff24e7  phi-2.Q6_K.gguf:blk.23.attn_output.weight
sha1    eaa65328049de04f31adb5d1693c872729453484  phi-2.Q6_K.gguf:blk.23.ffn_up.bias
sha1    f3e301d2c1e782f57957a6fdffa58db99e41a798  phi-2.Q6_K.gguf:blk.23.ffn_up.weight
sha1    038d1bfdd2620926bda5df94dc53da2c43229429  phi-2.Q6_K.gguf:blk.23.ffn_down.bias
sha1    57593f712de31057a0cf0842f8c1b0eac5608959  phi-2.Q6_K.gguf:blk.23.ffn_down.weight
sha1    cc8638341ed7d680c5235830e20c6356b4a8e1b4  phi-2.Q6_K.gguf:blk.24.attn_norm.bias
sha1    95da9438a814fee0ffba3214ed2c9f7aca4eb2dc  phi-2.Q6_K.gguf:blk.24.attn_norm.weight
sha1    65536328d727224bd54afb07783df7e35add2b46  phi-2.Q6_K.gguf:blk.24.attn_qkv.bias
sha1    054f283d5e85eeb57a3c59fe7373ce3de0ec13b0  phi-2.Q6_K.gguf:blk.24.attn_qkv.weight
sha1    c29ed16a6948b823aea5b2141175566aa9e0e374  phi-2.Q6_K.gguf:blk.24.attn_output.bias
sha1    fa8122333366d7f56a0d8cdf743839cae7047bec  phi-2.Q6_K.gguf:blk.24.attn_output.weight
sha1    c610a99455ca2075d4ead59aadd7460c44e04173  phi-2.Q6_K.gguf:blk.24.ffn_up.bias
sha1    2d59b33190f358ae279227c0dd2e9c2512eae4eb  phi-2.Q6_K.gguf:blk.24.ffn_up.weight
sha1    75f15b6c75686ba8486500f36ba9ed6b7a565778  phi-2.Q6_K.gguf:blk.24.ffn_down.bias
sha1    74ef276a16d95f04b5358c726f28843ca84076a3  phi-2.Q6_K.gguf:blk.24.ffn_down.weight
sha1    50036262c256986c97c04b408e92ed5cb7fc170d  phi-2.Q6_K.gguf:blk.25.attn_norm.bias
sha1    6baccdeaa214739ad326910da7e9e4620bdb2cf1  phi-2.Q6_K.gguf:blk.25.attn_norm.weight
sha1    902ecfb0e94e3ca7fb3f424b0923b54aadd6489d  phi-2.Q6_K.gguf:blk.25.attn_qkv.bias
sha1    0aa2b49e2bdf3eb4e66abe097451c6e294262e74  phi-2.Q6_K.gguf:blk.25.attn_qkv.weight
sha1    819b8a2e8f724c0f19ef1ea765710ca43fb00aca  phi-2.Q6_K.gguf:blk.25.attn_output.bias
sha1    3982054e82ae6ea344fe39be112e5704a4e54722  phi-2.Q6_K.gguf:blk.25.attn_output.weight
sha1    3e45a6edf23dcf22b3379c300484246a09dcebe1  phi-2.Q6_K.gguf:blk.25.ffn_up.bias
sha1    e590bfb061f347a023330ff2aee935906ea26fb2  phi-2.Q6_K.gguf:blk.25.ffn_up.weight
sha1    ffb35329020c82f50d483c03745c8efdcb77b951  phi-2.Q6_K.gguf:blk.25.ffn_down.bias
sha1    e507dc5a7305c9c390dbbcb8ac6f5ace2cca1077  phi-2.Q6_K.gguf:blk.25.ffn_down.weight
sha1    b211345446322dbd44a3db85ccb9d3994051786b  phi-2.Q6_K.gguf:blk.26.attn_norm.bias
sha1    4d0b0e45d179a12dc0a175ca461884b14bfdc5a0  phi-2.Q6_K.gguf:blk.26.attn_norm.weight
sha1    e0995169b278bb2ac8c991eb4e23100e695d4a0a  phi-2.Q6_K.gguf:blk.26.attn_qkv.bias
sha1    8b016bb8a9e2e7c2dc5571e0cf97bd61586f680c  phi-2.Q6_K.gguf:blk.26.attn_qkv.weight
sha1    51338e1c5cd481d33112190e3b123324757ce4df  phi-2.Q6_K.gguf:blk.26.attn_output.bias
sha1    c2a00f319e8288182ef639f8290e05492bd14485  phi-2.Q6_K.gguf:blk.26.attn_output.weight
sha1    ad8c85ed335a9c4fdd98e90c16f676c3db31b527  phi-2.Q6_K.gguf:blk.26.ffn_up.bias
sha1    1c3634627bf720711f004a5cae5675c666c51aff  phi-2.Q6_K.gguf:blk.26.ffn_up.weight
sha1    e728ac616d7d32501826a7f3f9578680023e5fe2  phi-2.Q6_K.gguf:blk.26.ffn_down.bias
sha1    6251f14d77b2d139f5e9e9350cecd3ef5af1cbf3  phi-2.Q6_K.gguf:blk.26.ffn_down.weight
sha1    c6c4bac0993ca4c933303c2d965b05d796307025  phi-2.Q6_K.gguf:blk.27.attn_norm.bias
sha1    c782eeac51b583e3d591d9be30af5ee7ffd6c9b9  phi-2.Q6_K.gguf:blk.27.attn_norm.weight
sha1    2016ee59f9907220ae59c3ef45b365e831aec960  phi-2.Q6_K.gguf:blk.27.attn_qkv.bias
sha1    8a4a3ef32c031a3718fc49e90fe59aab3d70386e  phi-2.Q6_K.gguf:blk.27.attn_qkv.weight
sha1    4d5f649913afa16f0e6a046b71097f2ad21da370  phi-2.Q6_K.gguf:blk.27.attn_output.bias
sha1    34da8821e88165f0d0f215a4fb1b816c55611520  phi-2.Q6_K.gguf:blk.27.attn_output.weight
sha1    d6ed45fdce3596aedd2061dae058786942c93006  phi-2.Q6_K.gguf:blk.27.ffn_up.bias
sha1    2906cdf925e597cba7288073517c47332b25edba  phi-2.Q6_K.gguf:blk.27.ffn_up.weight
sha1    380d26756e9aa7ddb19c97ce3718581f8c270a8b  phi-2.Q6_K.gguf:blk.27.ffn_down.bias
sha1    5423d13896597626cc8eb0ed33ba930080840233  phi-2.Q6_K.gguf:blk.27.ffn_down.weight
sha1    81235100e33661231e869e71a4eb06f14add55e4  phi-2.Q6_K.gguf:blk.28.attn_norm.bias
sha1    61ffd37e3b6caccd8845c1806823327d6f92e4c2  phi-2.Q6_K.gguf:blk.28.attn_norm.weight
sha1    bcfc9b52de2fec7fcbad0f972fc9783321dbcd22  phi-2.Q6_K.gguf:blk.28.attn_qkv.bias
sha1    1d4716b8bcf0e0e93864bdf844f14428651e7736  phi-2.Q6_K.gguf:blk.28.attn_qkv.weight
sha1    a038d88a33fa045d71b330647bffdc7cc3540831  phi-2.Q6_K.gguf:blk.28.attn_output.bias
sha1    d09b12308fd0d0fc8fb5c6e770ba8b61d595f136  phi-2.Q6_K.gguf:blk.28.attn_output.weight
sha1    bc7cced1779ec0f0a346e623ca9faafcdbfc7ac8  phi-2.Q6_K.gguf:blk.28.ffn_up.bias
sha1    b134a80ba10e64c2cde627423028694707c63354  phi-2.Q6_K.gguf:blk.28.ffn_up.weight
sha1    21095e8c0cc614841b4efc98c8787adf0aa8a2e0  phi-2.Q6_K.gguf:blk.28.ffn_down.bias
sha1    3b521c09cc02146410bb9f1456584138ef5889f5  phi-2.Q6_K.gguf:blk.28.ffn_down.weight
sha1    67e26633fe525d854e0e057f7ea2403b71c55fd8  phi-2.Q6_K.gguf:blk.29.attn_norm.bias
sha1    aa5e5ddb39a414cdbd011b81f43c3fe43089f383  phi-2.Q6_K.gguf:blk.29.attn_norm.weight
sha1    c814ff7c8950f608528c392d8ae554841ebed2b5  phi-2.Q6_K.gguf:blk.29.attn_qkv.bias
sha1    1e8109ac52291e1e189478241e69020ff2659189  phi-2.Q6_K.gguf:blk.29.attn_qkv.weight
sha1    ac374fac757f45dc9acb71901cd8389947a147f7  phi-2.Q6_K.gguf:blk.29.attn_output.bias
sha1    d22ebd48eebc5b94cf6fb7ec193ea6b935bffbe9  phi-2.Q6_K.gguf:blk.29.attn_output.weight
sha1    878f4d53c0a11259260e7c2e389490734506eef7  phi-2.Q6_K.gguf:blk.29.ffn_up.bias
sha1    90bd0ce308a31cdb7100894ad78f1e2c335ce84b  phi-2.Q6_K.gguf:blk.29.ffn_up.weight
sha1    20b493b7fbf54cd663a22e3382f6298d178b7c17  phi-2.Q6_K.gguf:blk.29.ffn_down.bias
sha1    b6dd633454fe4ec5f194382379e7bcd45e57a586  phi-2.Q6_K.gguf:blk.29.ffn_down.weight
sha1    afb7653b0682156b3e7430d9ec0a9524d96a6302  phi-2.Q6_K.gguf:blk.3.attn_norm.bias
sha1    f1677c543f217b07e912204b449d5e663de39b3e  phi-2.Q6_K.gguf:blk.3.attn_norm.weight
sha1    8d8abc93ab6fa988e472d817fbcc2e4b0418ad5f  phi-2.Q6_K.gguf:blk.3.attn_qkv.bias
sha1    33fa2f34d3a52daa809249cd82458c7aaf8fced0  phi-2.Q6_K.gguf:blk.3.attn_qkv.weight
sha1    4cd700abfdc526b4b6f5156a6b28db38a7f20c3d  phi-2.Q6_K.gguf:blk.3.attn_output.bias
sha1    63561af19f508b5855952afad3ab95c2f50154cf  phi-2.Q6_K.gguf:blk.3.attn_output.weight
sha1    243157034aa109691f44ca45c44ecc3884b530bf  phi-2.Q6_K.gguf:blk.3.ffn_up.bias
sha1    cd9c8a42f7caf22a4a58fb32a0eb0421d13de505  phi-2.Q6_K.gguf:blk.3.ffn_up.weight
sha1    790f7347df840bcd8208814c5202974905ce8539  phi-2.Q6_K.gguf:blk.3.ffn_down.bias
sha1    4b758c70188ceb7a89152e458ed5d4d837b2e272  phi-2.Q6_K.gguf:blk.3.ffn_down.weight
sha1    eccaf11019039d88cbbcfe55d8e3c8aa9cd0c0e5  phi-2.Q6_K.gguf:blk.30.attn_norm.bias
sha1    d9afd8ad290cf4d42d91f53382280a44c864d14a  phi-2.Q6_K.gguf:blk.30.attn_norm.weight
sha1    55a98c87d2a85a0c2d8f05cc47346e0ddf67a0d3  phi-2.Q6_K.gguf:blk.4.attn_norm.bias
sha1    9b396c20ef33d49373bd6c9ee523039bbe1fbcd4  phi-2.Q6_K.gguf:blk.4.attn_norm.weight
sha1    6524de846bf1127165a1382b28f25618fe6fe488  phi-2.Q6_K.gguf:blk.4.attn_qkv.bias
sha1    1c34b6d08ce9b756dd5f2c82c84cabd08c961084  phi-2.Q6_K.gguf:blk.4.attn_qkv.weight
sha1    0d74e060b35e040e16dd1a3981dd163b72248fd9  phi-2.Q6_K.gguf:blk.4.attn_output.bias
sha1    4afdec2570f7a93236101b8db8de847da7b02dca  phi-2.Q6_K.gguf:blk.4.attn_output.weight
sha1    9041dd29855e5c32180e4462f4e895231e987991  phi-2.Q6_K.gguf:blk.4.ffn_up.bias
sha1    29881d9aadda92da620c685c8093d3c580780b55  phi-2.Q6_K.gguf:blk.4.ffn_up.weight
sha1    fef0417ef897386abb502e7b9545b313f8bca8f2  phi-2.Q6_K.gguf:blk.4.ffn_down.bias
sha1    6f929e3be3b61912edd834992ff56b07921157e5  phi-2.Q6_K.gguf:blk.4.ffn_down.weight
sha1    1406da19328554a473ed6e846fc79d0d911897b5  phi-2.Q6_K.gguf:blk.5.attn_norm.bias
sha1    c512536a9f5763730fc3a621b59892593e0dadf9  phi-2.Q6_K.gguf:blk.5.attn_norm.weight
sha1    46cfa324e950903ea4726666649237464ebfd4b7  phi-2.Q6_K.gguf:blk.5.attn_qkv.bias
sha1    2400163dc1032a25a915e1aa600a289ac6f7c616  phi-2.Q6_K.gguf:blk.5.attn_qkv.weight
sha1    f7b6294d6779e20e0dbd637d90d5169f5b24c1a2  phi-2.Q6_K.gguf:blk.5.attn_output.bias
sha1    41af8211617a8bf9e2430ba3fb74bdcf7785e6b1  phi-2.Q6_K.gguf:blk.5.attn_output.weight
sha1    7f09e5e27e0c0b477bbd04381723aa479910fa46  phi-2.Q6_K.gguf:blk.5.ffn_up.bias
sha1    0960a5394cbd6144a01069a96d4bfda1b65e60fa  phi-2.Q6_K.gguf:blk.5.ffn_up.weight
sha1    b5895c5a95deb697c4622c12844bdb941f6680b6  phi-2.Q6_K.gguf:blk.5.ffn_down.bias
sha1    af8343a7ec2252f9e6314a46f6d319eb89044aa9  phi-2.Q6_K.gguf:blk.5.ffn_down.weight
sha1    c500ef0e4d894c39f3968064027685403371845f  phi-2.Q6_K.gguf:blk.6.attn_norm.bias
sha1    10d7a6bcc26c6d2558b8be09a4497af3fb1f524d  phi-2.Q6_K.gguf:blk.6.attn_norm.weight
sha1    7c14d1e05c1e7b7254280eac8dfecbab9403ab0d  phi-2.Q6_K.gguf:blk.6.attn_qkv.bias
sha1    58c51a4d364077a217533c876eb361849e6f68e5  phi-2.Q6_K.gguf:blk.6.attn_qkv.weight
sha1    31d929f94685abb70bd467a07635a27f49f74f01  phi-2.Q6_K.gguf:blk.6.attn_output.bias
sha1    dd5ed55f456a818e51e1db55275cb703ff706540  phi-2.Q6_K.gguf:blk.6.attn_output.weight
sha1    6f853329c458ad89a50f1cd7af71ee822f2632dc  phi-2.Q6_K.gguf:blk.6.ffn_up.bias
sha1    38a3fd918c0c773073b9f53f0c1122426e072c12  phi-2.Q6_K.gguf:blk.6.ffn_up.weight
sha1    41d5612d62d7e2585b755425dea4a9fb1cf7e4e7  phi-2.Q6_K.gguf:blk.6.ffn_down.bias
sha1    6df0b392adeabd7b751e9d3a563426fcfe04550c  phi-2.Q6_K.gguf:blk.6.ffn_down.weight
sha1    95563cfdc8f7592a78728e7d645f5692c48633c3  phi-2.Q6_K.gguf:blk.7.attn_norm.bias
sha1    c19ea678ba06c2ca169387ae9bcd5dd71b6ef96a  phi-2.Q6_K.gguf:blk.7.attn_norm.weight
sha1    af15c9e0ff610d3f4f086f6b9011926fe141e891  phi-2.Q6_K.gguf:blk.7.attn_qkv.bias
sha1    ce81cdcd93c7802e8146ac907b178a242942375b  phi-2.Q6_K.gguf:blk.7.attn_qkv.weight
sha1    da7610f740e309fb1ec0f285d7009427b6500b21  phi-2.Q6_K.gguf:blk.7.attn_output.bias
sha1    f3dffc9e2eaa4ce3f140a224b1ee5a91e700cb57  phi-2.Q6_K.gguf:blk.7.attn_output.weight
sha1    ca824f1fb99a203c7e219efeb72f9be95e2623a5  phi-2.Q6_K.gguf:blk.7.ffn_up.bias
sha1    02f2b842cbf0c3e13127cd56580a076eac46d737  phi-2.Q6_K.gguf:blk.7.ffn_up.weight
sha1    2f0e7304150af86fce50db96f28fdccd375cf94a  phi-2.Q6_K.gguf:blk.7.ffn_down.bias
sha1    5851200b5777965a1735a6b9d41920c3515475b2  phi-2.Q6_K.gguf:blk.7.ffn_down.weight
sha1    be893b9d793d4f68f33130405070c5976aa39ac5  phi-2.Q6_K.gguf:blk.8.attn_norm.bias
sha1    d95cbfd6a2f693044bf6b60de22df769c69c85d2  phi-2.Q6_K.gguf:blk.8.attn_norm.weight
sha1    f91bc3309fe2c2ac93719923d06d1d652661334d  phi-2.Q6_K.gguf:blk.8.attn_qkv.bias
sha1    e362780f58a03137c442c6914a7dbf0eee292ff2  phi-2.Q6_K.gguf:blk.8.attn_qkv.weight
sha1    02706fc5ff62f2ebfc63900c08b7177a89fe953a  phi-2.Q6_K.gguf:blk.8.attn_output.bias
sha1    a0115f689bed82b6a77cf0e5afcbb5121ffd1efa  phi-2.Q6_K.gguf:blk.8.attn_output.weight
sha1    13728d632ba526c9edf4549308e4eabd90cbb48f  phi-2.Q6_K.gguf:blk.8.ffn_up.bias
sha1    57b27bae970eaf806281d8f7d2eec11a64c562ef  phi-2.Q6_K.gguf:blk.8.ffn_up.weight
sha1    5c77618f8473b9025284884c2bf0ec30ebe68195  phi-2.Q6_K.gguf:blk.8.ffn_down.bias
sha1    803dde0061ae3b756a64eefec49c0a03b31c9bbd  phi-2.Q6_K.gguf:blk.8.ffn_down.weight
sha1    a40d02b6b2b23cddd66d805623fc11281cb6c271  phi-2.Q6_K.gguf:blk.9.attn_norm.bias
sha1    cc7746fe5ad20fc9d05723ac80922e4832386a20  phi-2.Q6_K.gguf:blk.9.attn_norm.weight
sha1    f7fe3295048344dda96e60cbd489b3f50f311625  phi-2.Q6_K.gguf:blk.9.attn_qkv.bias
sha1    c9b73ec8efc0f95d0277fcc41d1db65d8f23c6db  phi-2.Q6_K.gguf:blk.9.attn_qkv.weight
sha1    2ab141e62f293ea2b62a03e8a50892b458c0437d  phi-2.Q6_K.gguf:blk.9.attn_output.bias
sha1    3f95cbe9d07b1d1f0d7058848391e4a024df815a  phi-2.Q6_K.gguf:blk.9.attn_output.weight
sha1    78e43c3be60fcf8aa956ec5ccbdf224db901f3e9  phi-2.Q6_K.gguf:blk.9.ffn_up.bias
sha1    5ffe96323e0d55748389f343607b8f4c3d7a0d89  phi-2.Q6_K.gguf:blk.9.ffn_up.weight
sha1    3ffff4f623a8aa4c4aad4f190eac4971c793eafc  phi-2.Q6_K.gguf:blk.9.ffn_down.bias
sha1    4c40c97baad13d3d4f25810e8ca5923cb56bd89b  phi-2.Q6_K.gguf:blk.9.ffn_down.weight
sha1    eb4a7bdffead5d45e56497bd2dcb60918eac9d48  phi-2.Q6_K.gguf:output.bias
sha1    2286ad7ea3953c11161043bdaf6f238e2673e8eb  phi-2.Q6_K.gguf:output.weight
sha1    d3f35f24e59020244fc71e624dcce8418fc3ea7b  phi-2.Q6_K.gguf:output_norm.bias
sha1    ff863025b376f03dcd16f542aa0e7c3c742065af  phi-2.Q6_K.gguf:output_norm.weight
sha1    5de3dfa44d81ff236bcca18c0e4918234f0a870f  phi-2.Q6_K.gguf:blk.30.attn_qkv.bias
sha1    b9b5a3665fdcebef17aaadd629bfe1f4b48cdfbb  phi-2.Q6_K.gguf:blk.30.attn_qkv.weight
sha1    e82cb5b4db7b8f259569d24713384faabcb8cead  phi-2.Q6_K.gguf:blk.30.attn_output.bias
sha1    9e695a288b523e86f605360bced9817e6232b808  phi-2.Q6_K.gguf:blk.30.attn_output.weight
sha1    428d33543175e742034b452322313dcd38ae51ec  phi-2.Q6_K.gguf:blk.30.ffn_up.bias
sha1    525f5dad2502041570475fbc261b8a43061c85f4  phi-2.Q6_K.gguf:blk.30.ffn_up.weight
sha1    d7a9af0448c316da1891cad23aa65aa58abe0a36  phi-2.Q6_K.gguf:blk.30.ffn_down.bias
sha1    fca2c5c9c7c2873e442575e70fb9f1cfba603c12  phi-2.Q6_K.gguf:blk.30.ffn_down.weight
sha1    4073c6173087bc0c61352255b103ec48af6b1e2e  phi-2.Q6_K.gguf:blk.31.attn_norm.bias
sha1    207f7cdea009810af87d7d97f84a9eaa7b95106f  phi-2.Q6_K.gguf:blk.31.attn_norm.weight
sha1    355dbb1afc8cdfd5f3d56b6787ae9d220c408274  phi-2.Q6_K.gguf:blk.31.attn_qkv.bias
sha1    f91917315f6af3ae1de60fd3eed2d65e7e33d2a6  phi-2.Q6_K.gguf:blk.31.attn_qkv.weight
sha1    d5540902b7787d13c3c9e2f10166e2ac7eaf2912  phi-2.Q6_K.gguf:blk.31.attn_output.bias
sha1    5fad700d9d1db49a7fe87b73cbdb31b0867217ce  phi-2.Q6_K.gguf:blk.31.attn_output.weight
sha1    9ed5f61bb8ad9cf79e26b4613c849eb6374ce40a  phi-2.Q6_K.gguf:blk.31.ffn_up.bias
sha1    bc13270372c6fa975670a16aac4fc3a26ca91668  phi-2.Q6_K.gguf:blk.31.ffn_up.weight
sha1    d2f137562ca8e8626baedb4d553138f11e45d411  phi-2.Q6_K.gguf:blk.31.ffn_down.bias
sha1    2e748c613aea1dc3911f49a3eb14735c27551d70  phi-2.Q6_K.gguf:blk.31.ffn_down.weight
sha1    32ea6e22a0c63beef6ce2ba15471689b8144b39c  phi-2.Q6_K.gguf
example of xxhash output of phi-2.Q6_K.gguf
llama.cpp/build/bin/llama-gguf-hash --xxhash phi-2.Q6_K.gguf
xxhash  cdad5512a244df3b  phi-2.Q6_K.gguf:token_embd.weight
xxhash  4e0d85c23c66b590  phi-2.Q6_K.gguf:blk.0.attn_norm.bias
xxhash  dc8954729ade4579  phi-2.Q6_K.gguf:blk.0.attn_norm.weight
xxhash  3d19c9bc465fd60b  phi-2.Q6_K.gguf:blk.0.attn_qkv.bias
xxhash  4a10b6a12427abfa  phi-2.Q6_K.gguf:blk.0.attn_qkv.weight
xxhash  b58d9b6540f75eee  phi-2.Q6_K.gguf:blk.0.attn_output.bias
xxhash  1e9bb528d5e5b992  phi-2.Q6_K.gguf:blk.0.attn_output.weight
xxhash  54042f4b9d104ea6  phi-2.Q6_K.gguf:blk.0.ffn_up.bias
xxhash  9918273d740233a1  phi-2.Q6_K.gguf:blk.0.ffn_up.weight
xxhash  239684ad4ce727a4  phi-2.Q6_K.gguf:blk.0.ffn_down.bias
xxhash  8ad373569cfe39c6  phi-2.Q6_K.gguf:blk.0.ffn_down.weight
xxhash  aeec4ee7ae7d4a7d  phi-2.Q6_K.gguf:blk.1.attn_norm.bias
xxhash  5ec5348ad2f2c498  phi-2.Q6_K.gguf:blk.1.attn_norm.weight
xxhash  193614dd93e1c57f  phi-2.Q6_K.gguf:blk.1.attn_qkv.bias
xxhash  87b8aa3ba9307953  phi-2.Q6_K.gguf:blk.1.attn_qkv.weight
xxhash  3a43b29c0f8387ba  phi-2.Q6_K.gguf:blk.1.attn_output.bias
xxhash  44a17806aee5c41e  phi-2.Q6_K.gguf:blk.1.attn_output.weight
xxhash  ba2b85afb85a8cff  phi-2.Q6_K.gguf:blk.1.ffn_up.bias
xxhash  e08061d8ff923926  phi-2.Q6_K.gguf:blk.1.ffn_up.weight
xxhash  a0127dc24ea7e380  phi-2.Q6_K.gguf:blk.1.ffn_down.bias
xxhash  175c7d42508661e2  phi-2.Q6_K.gguf:blk.1.ffn_down.weight
xxhash  5b92085ac36bac66  phi-2.Q6_K.gguf:blk.10.attn_norm.bias
xxhash  714e9bd46fa27061  phi-2.Q6_K.gguf:blk.10.attn_norm.weight
xxhash  a663690ee6af059a  phi-2.Q6_K.gguf:blk.10.attn_qkv.bias
xxhash  1ddcdfb64a967c53  phi-2.Q6_K.gguf:blk.10.attn_qkv.weight
xxhash  13fc7fcc6752c644  phi-2.Q6_K.gguf:blk.10.attn_output.bias
xxhash  fa14dbce3f855964  phi-2.Q6_K.gguf:blk.10.attn_output.weight
xxhash  64ca439b84c91530  phi-2.Q6_K.gguf:blk.10.ffn_up.bias
xxhash  d4e0838253a08640  phi-2.Q6_K.gguf:blk.10.ffn_up.weight
xxhash  be7ab15a3aa5e537  phi-2.Q6_K.gguf:blk.10.ffn_down.bias
xxhash  aab0da6a25fc8064  phi-2.Q6_K.gguf:blk.10.ffn_down.weight
xxhash  a708e25b2ea8642f  phi-2.Q6_K.gguf:blk.11.attn_norm.bias
xxhash  5892f6913dcfcb0c  phi-2.Q6_K.gguf:blk.11.attn_norm.weight
xxhash  b31f0e30e1e58544  phi-2.Q6_K.gguf:blk.11.attn_qkv.bias
xxhash  8be8c60493d561b8  phi-2.Q6_K.gguf:blk.11.attn_qkv.weight
xxhash  2c68e7c9d83071bd  phi-2.Q6_K.gguf:blk.11.attn_output.bias
xxhash  2a935017a5b163a8  phi-2.Q6_K.gguf:blk.11.attn_output.weight
xxhash  475e9fd7a7ecd5fd  phi-2.Q6_K.gguf:blk.11.ffn_up.bias
xxhash  7eb63988c913a98b  phi-2.Q6_K.gguf:blk.11.ffn_up.weight
xxhash  4ca1a3207ed71d09  phi-2.Q6_K.gguf:blk.11.ffn_down.bias
xxhash  3bcc034754b0a99e  phi-2.Q6_K.gguf:blk.11.ffn_down.weight
xxhash  7e1c3e6dd000e52a  phi-2.Q6_K.gguf:blk.12.attn_norm.bias
xxhash  dc572f8b46572501  phi-2.Q6_K.gguf:blk.12.attn_norm.weight
xxhash  f12a9ce841af8f3a  phi-2.Q6_K.gguf:blk.12.attn_qkv.bias
xxhash  36e8224c7dd6741d  phi-2.Q6_K.gguf:blk.12.attn_qkv.weight
xxhash  aebd557c802902b5  phi-2.Q6_K.gguf:blk.12.attn_output.bias
xxhash  c6b9a5a478d02146  phi-2.Q6_K.gguf:blk.12.attn_output.weight
xxhash  ed3962a688742661  phi-2.Q6_K.gguf:blk.12.ffn_up.bias
xxhash  8124775f355679da  phi-2.Q6_K.gguf:blk.12.ffn_up.weight
xxhash  895e5bc32df44919  phi-2.Q6_K.gguf:blk.12.ffn_down.bias
xxhash  4946b79ce253bc0f  phi-2.Q6_K.gguf:blk.12.ffn_down.weight
xxhash  afb483ecc907c206  phi-2.Q6_K.gguf:blk.13.attn_norm.bias
xxhash  fd8d1afe7460792c  phi-2.Q6_K.gguf:blk.13.attn_norm.weight
xxhash  a1488a5c6839abb3  phi-2.Q6_K.gguf:blk.13.attn_qkv.bias
xxhash  aa6b20d4f6c571c9  phi-2.Q6_K.gguf:blk.13.attn_qkv.weight
xxhash  fc6d80fb8750ce8a  phi-2.Q6_K.gguf:blk.13.attn_output.bias
xxhash  2867acca1f54b528  phi-2.Q6_K.gguf:blk.13.attn_output.weight
xxhash  4d5338ccb677a690  phi-2.Q6_K.gguf:blk.13.ffn_up.bias
xxhash  ebbcb393cb6ebe69  phi-2.Q6_K.gguf:blk.13.ffn_up.weight
xxhash  0a02e52f686a6d3b  phi-2.Q6_K.gguf:blk.13.ffn_down.bias
xxhash  b53f1788e943709a  phi-2.Q6_K.gguf:blk.13.ffn_down.weight
xxhash  1fbc93e3863ab3c8  phi-2.Q6_K.gguf:blk.14.attn_norm.bias
xxhash  b557b8a7d865a16a  phi-2.Q6_K.gguf:blk.14.attn_norm.weight
xxhash  0aa7f48c6b0a6c9e  phi-2.Q6_K.gguf:blk.14.attn_qkv.bias
xxhash  8552f0cfd2092c9b  phi-2.Q6_K.gguf:blk.14.attn_qkv.weight
xxhash  e4da2e8550ea3227  phi-2.Q6_K.gguf:blk.14.attn_output.bias
xxhash  28f85ed715a0ace8  phi-2.Q6_K.gguf:blk.14.attn_output.weight
xxhash  3f046aa3766062fa  phi-2.Q6_K.gguf:blk.14.ffn_up.bias
xxhash  a4bc77c2aaa86c48  phi-2.Q6_K.gguf:blk.14.ffn_up.weight
xxhash  f45b4374d6d75c2f  phi-2.Q6_K.gguf:blk.14.ffn_down.bias
xxhash  0a9675c0037bf9e3  phi-2.Q6_K.gguf:blk.14.ffn_down.weight
xxhash  7f3f6715fd16b7c1  phi-2.Q6_K.gguf:blk.15.attn_norm.bias
xxhash  6145e322d2f2332f  phi-2.Q6_K.gguf:blk.15.attn_norm.weight
xxhash  fba437d266a5c388  phi-2.Q6_K.gguf:blk.15.attn_qkv.bias
xxhash  e1360b60c266874e  phi-2.Q6_K.gguf:blk.15.attn_qkv.weight
xxhash  f9f10ac4c7aaa040  phi-2.Q6_K.gguf:blk.15.attn_output.bias
xxhash  c501974e26f4d64d  phi-2.Q6_K.gguf:blk.15.attn_output.weight
xxhash  ded119c821aac9f6  phi-2.Q6_K.gguf:blk.15.ffn_up.bias
xxhash  52b8f4e232d25958  phi-2.Q6_K.gguf:blk.15.ffn_up.weight
xxhash  7c0a41a125ec45ab  phi-2.Q6_K.gguf:blk.15.ffn_down.bias
xxhash  ce9147dc9314ea22  phi-2.Q6_K.gguf:blk.15.ffn_down.weight
xxhash  f05e84c34e8dd478  phi-2.Q6_K.gguf:blk.16.attn_norm.bias
xxhash  79207384d0f6232e  phi-2.Q6_K.gguf:blk.16.attn_norm.weight
xxhash  bd8e50ea5a066830  phi-2.Q6_K.gguf:blk.16.attn_qkv.bias
xxhash  602e2a2a1cfcfff9  phi-2.Q6_K.gguf:blk.16.attn_qkv.weight
xxhash  d98fb0a2ce9e5dd3  phi-2.Q6_K.gguf:blk.16.attn_output.bias
xxhash  b9324a6de66b8b92  phi-2.Q6_K.gguf:blk.16.attn_output.weight
xxhash  2e34d60c72472a5e  phi-2.Q6_K.gguf:blk.16.ffn_up.bias
xxhash  f77268a7a48bfab5  phi-2.Q6_K.gguf:blk.16.ffn_up.weight
xxhash  4774389facd15469  phi-2.Q6_K.gguf:blk.16.ffn_down.bias
xxhash  6cf76d68747f72f0  phi-2.Q6_K.gguf:blk.16.ffn_down.weight
xxhash  1ddbbc6c823ba87e  phi-2.Q6_K.gguf:blk.17.attn_norm.bias
xxhash  10e6176eaa3a9e8d  phi-2.Q6_K.gguf:blk.17.attn_norm.weight
xxhash  b9ff0a7469bb51eb  phi-2.Q6_K.gguf:blk.17.attn_qkv.bias
xxhash  ebde40868b302b98  phi-2.Q6_K.gguf:blk.17.attn_qkv.weight
xxhash  7643bce9ab92ccf2  phi-2.Q6_K.gguf:blk.17.attn_output.bias
xxhash  577fa6d33f1807e4  phi-2.Q6_K.gguf:blk.17.attn_output.weight
xxhash  330147423fe371e4  phi-2.Q6_K.gguf:blk.17.ffn_up.bias
xxhash  0fd075f39fb215e7  phi-2.Q6_K.gguf:blk.17.ffn_up.weight
xxhash  e6535e037533ccca  phi-2.Q6_K.gguf:blk.17.ffn_down.bias
xxhash  c1c5047503d6a589  phi-2.Q6_K.gguf:blk.17.ffn_down.weight
xxhash  7d37815002e4fc21  phi-2.Q6_K.gguf:blk.18.attn_norm.bias
xxhash  561ec645e849459b  phi-2.Q6_K.gguf:blk.18.attn_norm.weight
xxhash  1ac59a168ff689b3  phi-2.Q6_K.gguf:blk.18.attn_qkv.bias
xxhash  77e0bb7cd584e2f0  phi-2.Q6_K.gguf:blk.18.attn_qkv.weight
xxhash  9e2a5252e5808241  phi-2.Q6_K.gguf:blk.18.attn_output.bias
xxhash  118c7132fb77edf8  phi-2.Q6_K.gguf:blk.18.attn_output.weight
xxhash  6d80b5e62bc0532a  phi-2.Q6_K.gguf:blk.18.ffn_up.bias
xxhash  17d2e9104779c5fd  phi-2.Q6_K.gguf:blk.18.ffn_up.weight
xxhash  aef5a97c98ca833a  phi-2.Q6_K.gguf:blk.18.ffn_down.bias
xxhash  7b32fba99e20e06d  phi-2.Q6_K.gguf:blk.18.ffn_down.weight
xxhash  9e71e7b5152e0ac5  phi-2.Q6_K.gguf:blk.19.attn_norm.bias
xxhash  5b901170e3583068  phi-2.Q6_K.gguf:blk.19.attn_norm.weight
xxhash  ed7379148a91dabf  phi-2.Q6_K.gguf:blk.19.attn_qkv.bias
xxhash  9100d14b665263d9  phi-2.Q6_K.gguf:blk.19.attn_qkv.weight
xxhash  1c36f096f7a9ba06  phi-2.Q6_K.gguf:blk.19.attn_output.bias
xxhash  3573aab4a03b6fc5  phi-2.Q6_K.gguf:blk.19.attn_output.weight
xxhash  a41fa1577da6c4d0  phi-2.Q6_K.gguf:blk.19.ffn_up.bias
xxhash  3b26869cb92c4b77  phi-2.Q6_K.gguf:blk.19.ffn_up.weight
xxhash  3aa5573769db4d75  phi-2.Q6_K.gguf:blk.19.ffn_down.bias
xxhash  06a292e673604863  phi-2.Q6_K.gguf:blk.19.ffn_down.weight
xxhash  8b3c663e610275c0  phi-2.Q6_K.gguf:blk.2.attn_norm.bias
xxhash  ee20706b770306b2  phi-2.Q6_K.gguf:blk.2.attn_norm.weight
xxhash  055abfdf28959386  phi-2.Q6_K.gguf:blk.2.attn_qkv.bias
xxhash  a1b9442790fab379  phi-2.Q6_K.gguf:blk.2.attn_qkv.weight
xxhash  ff7fedf8dfc188e2  phi-2.Q6_K.gguf:blk.2.attn_output.bias
xxhash  c035743ad60913ae  phi-2.Q6_K.gguf:blk.2.attn_output.weight
xxhash  85ba2f1059b8860d  phi-2.Q6_K.gguf:blk.2.ffn_up.bias
xxhash  9f574db2fbccd43a  phi-2.Q6_K.gguf:blk.2.ffn_up.weight
xxhash  2e0c4090e5b8ccc6  phi-2.Q6_K.gguf:blk.2.ffn_down.bias
xxhash  3065f3b4afc5631e  phi-2.Q6_K.gguf:blk.2.ffn_down.weight
xxhash  c98406dfb74dc88c  phi-2.Q6_K.gguf:blk.20.attn_norm.bias
xxhash  97d101d89bbe8c95  phi-2.Q6_K.gguf:blk.20.attn_norm.weight
xxhash  c7a528676d6f6e44  phi-2.Q6_K.gguf:blk.20.attn_qkv.bias
xxhash  1726cfe364664ba7  phi-2.Q6_K.gguf:blk.20.attn_qkv.weight
xxhash  206642921c22a4d8  phi-2.Q6_K.gguf:blk.20.attn_output.bias
xxhash  10e5719e7432e540  phi-2.Q6_K.gguf:blk.20.attn_output.weight
xxhash  89f82952a7e44d8d  phi-2.Q6_K.gguf:blk.20.ffn_up.bias
xxhash  a1f45d625f4eadf3  phi-2.Q6_K.gguf:blk.20.ffn_up.weight
xxhash  593d7497ff562216  phi-2.Q6_K.gguf:blk.20.ffn_down.bias
xxhash  6033b375b23c60d7  phi-2.Q6_K.gguf:blk.20.ffn_down.weight
xxhash  ec3dee0dd60e21d1  phi-2.Q6_K.gguf:blk.21.attn_norm.bias
xxhash  a50cad881c398663  phi-2.Q6_K.gguf:blk.21.attn_norm.weight
xxhash  10c05ad410a5c1b6  phi-2.Q6_K.gguf:blk.21.attn_qkv.bias
xxhash  3b29b7e32b5b5dc5  phi-2.Q6_K.gguf:blk.21.attn_qkv.weight
xxhash  7a425583f743f9fc  phi-2.Q6_K.gguf:blk.21.attn_output.bias
xxhash  ab4ee73dcefde2f7  phi-2.Q6_K.gguf:blk.21.attn_output.weight
xxhash  3f1a859cd9862b95  phi-2.Q6_K.gguf:blk.21.ffn_up.bias
xxhash  93a08186c3db2423  phi-2.Q6_K.gguf:blk.21.ffn_up.weight
xxhash  5e83bb35c329e310  phi-2.Q6_K.gguf:blk.21.ffn_down.bias
xxhash  2a874d9f63f67fac  phi-2.Q6_K.gguf:blk.21.ffn_down.weight
xxhash  07f2d004310e9d91  phi-2.Q6_K.gguf:blk.22.attn_norm.bias
xxhash  631aa00e51f5ff5e  phi-2.Q6_K.gguf:blk.22.attn_norm.weight
xxhash  6476744b9cae9426  phi-2.Q6_K.gguf:blk.22.attn_qkv.bias
xxhash  8f029f794ebd36eb  phi-2.Q6_K.gguf:blk.22.attn_qkv.weight
xxhash  30b486df24237fd1  phi-2.Q6_K.gguf:blk.22.attn_output.bias
xxhash  b0f00b483b3887c6  phi-2.Q6_K.gguf:blk.22.attn_output.weight
xxhash  127709834381bfa1  phi-2.Q6_K.gguf:blk.22.ffn_up.bias
xxhash  08548e1c8d8403ee  phi-2.Q6_K.gguf:blk.22.ffn_up.weight
xxhash  1d626004007239c4  phi-2.Q6_K.gguf:blk.22.ffn_down.bias
xxhash  83d68732536094d2  phi-2.Q6_K.gguf:blk.22.ffn_down.weight
xxhash  31c55d18cfe1f82f  phi-2.Q6_K.gguf:blk.23.attn_norm.bias
xxhash  4163bc0d392a082e  phi-2.Q6_K.gguf:blk.23.attn_norm.weight
xxhash  d9637408db830a69  phi-2.Q6_K.gguf:blk.23.attn_qkv.bias
xxhash  3232c133e0a71ad9  phi-2.Q6_K.gguf:blk.23.attn_qkv.weight
xxhash  5e85194b44aa59ea  phi-2.Q6_K.gguf:blk.23.attn_output.bias
xxhash  b61a6c4abfa193af  phi-2.Q6_K.gguf:blk.23.attn_output.weight
xxhash  dd693953a3f24f46  phi-2.Q6_K.gguf:blk.23.ffn_up.bias
xxhash  844193f74e1decb6  phi-2.Q6_K.gguf:blk.23.ffn_up.weight
xxhash  165a3ff36d520de3  phi-2.Q6_K.gguf:blk.23.ffn_down.bias
xxhash  e6cdbbab226f71ce  phi-2.Q6_K.gguf:blk.23.ffn_down.weight
xxhash  7698136956d65bf8  phi-2.Q6_K.gguf:blk.24.attn_norm.bias
xxhash  65d11e1e694a0694  phi-2.Q6_K.gguf:blk.24.attn_norm.weight
xxhash  138354b67fc93208  phi-2.Q6_K.gguf:blk.24.attn_qkv.bias
xxhash  20bd44d4dbf0b9e0  phi-2.Q6_K.gguf:blk.24.attn_qkv.weight
xxhash  f6f6cd02c11ce13a  phi-2.Q6_K.gguf:blk.24.attn_output.bias
xxhash  e1febf39714e0377  phi-2.Q6_K.gguf:blk.24.attn_output.weight
xxhash  d35fb1e959cb02fa  phi-2.Q6_K.gguf:blk.24.ffn_up.bias
xxhash  8d6a0e1fb92c4cbb  phi-2.Q6_K.gguf:blk.24.ffn_up.weight
xxhash  e0bbcd07afd6283b  phi-2.Q6_K.gguf:blk.24.ffn_down.bias
xxhash  b4aff78c2cb2b7e9  phi-2.Q6_K.gguf:blk.24.ffn_down.weight
xxhash  e64b498bfa1c318c  phi-2.Q6_K.gguf:blk.25.attn_norm.bias
xxhash  1c5da3709a1fbe98  phi-2.Q6_K.gguf:blk.25.attn_norm.weight
xxhash  5d3fa2b73343cde3  phi-2.Q6_K.gguf:blk.25.attn_qkv.bias
xxhash  bae099434cb37cd0  phi-2.Q6_K.gguf:blk.25.attn_qkv.weight
xxhash  e830f2dd974d5693  phi-2.Q6_K.gguf:blk.25.attn_output.bias
xxhash  970572f47e520bfb  phi-2.Q6_K.gguf:blk.25.attn_output.weight
xxhash  f2490542ff3c3034  phi-2.Q6_K.gguf:blk.25.ffn_up.bias
xxhash  caba83b86df93d36  phi-2.Q6_K.gguf:blk.25.ffn_up.weight
xxhash  72cb2d15a69b08e4  phi-2.Q6_K.gguf:blk.25.ffn_down.bias
xxhash  be02b8032e0fe0ef  phi-2.Q6_K.gguf:blk.25.ffn_down.weight
xxhash  4026b9076be4829f  phi-2.Q6_K.gguf:blk.26.attn_norm.bias
xxhash  1a07e4bc221adf7b  phi-2.Q6_K.gguf:blk.26.attn_norm.weight
xxhash  462999d79143edd3  phi-2.Q6_K.gguf:blk.26.attn_qkv.bias
xxhash  a31cf4c5fcb614d7  phi-2.Q6_K.gguf:blk.26.attn_qkv.weight
xxhash  d34ab507880c03ff  phi-2.Q6_K.gguf:blk.26.attn_output.bias
xxhash  7fe268bb68688d33  phi-2.Q6_K.gguf:blk.26.attn_output.weight
xxhash  0407a3626319967a  phi-2.Q6_K.gguf:blk.26.ffn_up.bias
xxhash  6aeaa22daf111d6e  phi-2.Q6_K.gguf:blk.26.ffn_up.weight
xxhash  52210fcfc9f89283  phi-2.Q6_K.gguf:blk.26.ffn_down.bias
xxhash  df3d009f57f90495  phi-2.Q6_K.gguf:blk.26.ffn_down.weight
xxhash  25a9081575422cab  phi-2.Q6_K.gguf:blk.27.attn_norm.bias
xxhash  9ff3cda003bf3f13  phi-2.Q6_K.gguf:blk.27.attn_norm.weight
xxhash  b462f55a4ea2a020  phi-2.Q6_K.gguf:blk.27.attn_qkv.bias
xxhash  29bfee57d54e7b96  phi-2.Q6_K.gguf:blk.27.attn_qkv.weight
xxhash  e14f0476f4f3fd81  phi-2.Q6_K.gguf:blk.27.attn_output.bias
xxhash  b5bed9730c69d5f7  phi-2.Q6_K.gguf:blk.27.attn_output.weight
xxhash  375eb77a5e2324d3  phi-2.Q6_K.gguf:blk.27.ffn_up.bias
xxhash  699b2b3a2441e53f  phi-2.Q6_K.gguf:blk.27.ffn_up.weight
xxhash  dfc3222c66514c14  phi-2.Q6_K.gguf:blk.27.ffn_down.bias
xxhash  af024d4d2b9f76da  phi-2.Q6_K.gguf:blk.27.ffn_down.weight
xxhash  9088142bc879f4ed  phi-2.Q6_K.gguf:blk.28.attn_norm.bias
xxhash  93842902b0847e63  phi-2.Q6_K.gguf:blk.28.attn_norm.weight
xxhash  fb2debc41978232c  phi-2.Q6_K.gguf:blk.28.attn_qkv.bias
xxhash  53733e4b09acb90b  phi-2.Q6_K.gguf:blk.28.attn_qkv.weight
xxhash  cf760efde9d069b0  phi-2.Q6_K.gguf:blk.28.attn_output.bias
xxhash  d170e910bc5b0d34  phi-2.Q6_K.gguf:blk.28.attn_output.weight
xxhash  db7b87649dd2597a  phi-2.Q6_K.gguf:blk.28.ffn_up.bias
xxhash  0742f3e921f89f2c  phi-2.Q6_K.gguf:blk.28.ffn_up.weight
xxhash  c1696b8923b8ece0  phi-2.Q6_K.gguf:blk.28.ffn_down.bias
xxhash  46d1760e982ae969  phi-2.Q6_K.gguf:blk.28.ffn_down.weight
xxhash  e3e6713513826e44  phi-2.Q6_K.gguf:blk.29.attn_norm.bias
xxhash  04b0d3d9bf4b045a  phi-2.Q6_K.gguf:blk.29.attn_norm.weight
xxhash  9c8634bcb3d92f61  phi-2.Q6_K.gguf:blk.29.attn_qkv.bias
xxhash  d7e8d4567925e93e  phi-2.Q6_K.gguf:blk.29.attn_qkv.weight
xxhash  8995b054a1537368  phi-2.Q6_K.gguf:blk.29.attn_output.bias
xxhash  057ae20d360cc360  phi-2.Q6_K.gguf:blk.29.attn_output.weight
xxhash  3f97c682ea075afd  phi-2.Q6_K.gguf:blk.29.ffn_up.bias
xxhash  b24ffbe4511a96ce  phi-2.Q6_K.gguf:blk.29.ffn_up.weight
xxhash  993a14bbdb1c917e  phi-2.Q6_K.gguf:blk.29.ffn_down.bias
xxhash  25414b5841e28449  phi-2.Q6_K.gguf:blk.29.ffn_down.weight
xxhash  8cd699e8ec760f82  phi-2.Q6_K.gguf:blk.3.attn_norm.bias
xxhash  83f0ccdb702d3574  phi-2.Q6_K.gguf:blk.3.attn_norm.weight
xxhash  1c130abc126110c2  phi-2.Q6_K.gguf:blk.3.attn_qkv.bias
xxhash  2790d6be7c64f319  phi-2.Q6_K.gguf:blk.3.attn_qkv.weight
xxhash  4ea45ab637329f72  phi-2.Q6_K.gguf:blk.3.attn_output.bias
xxhash  7d3f11a8ae7daa6e  phi-2.Q6_K.gguf:blk.3.attn_output.weight
xxhash  e86600b0bdeff7ba  phi-2.Q6_K.gguf:blk.3.ffn_up.bias
xxhash  188b6230c3229130  phi-2.Q6_K.gguf:blk.3.ffn_up.weight
xxhash  7877ab22d448163d  phi-2.Q6_K.gguf:blk.3.ffn_down.bias
xxhash  3eaa0f06acd1bb4d  phi-2.Q6_K.gguf:blk.3.ffn_down.weight
xxhash  8c0c7289f181a9ea  phi-2.Q6_K.gguf:blk.30.attn_norm.bias
xxhash  0512105ed3f5661e  phi-2.Q6_K.gguf:blk.30.attn_norm.weight
xxhash  b20cf85dbd7f03c6  phi-2.Q6_K.gguf:blk.4.attn_norm.bias
xxhash  43c0d2ec9e61785b  phi-2.Q6_K.gguf:blk.4.attn_norm.weight
xxhash  a7e84983615f616c  phi-2.Q6_K.gguf:blk.4.attn_qkv.bias
xxhash  6e0bc77efbce5ee8  phi-2.Q6_K.gguf:blk.4.attn_qkv.weight
xxhash  967a2756ea73ef81  phi-2.Q6_K.gguf:blk.4.attn_output.bias
xxhash  d4a4fc0537ed9ff6  phi-2.Q6_K.gguf:blk.4.attn_output.weight
xxhash  2eaba978cf0a6c0a  phi-2.Q6_K.gguf:blk.4.ffn_up.bias
xxhash  d36225048135bf86  phi-2.Q6_K.gguf:blk.4.ffn_up.weight
xxhash  d0658a0dc093572a  phi-2.Q6_K.gguf:blk.4.ffn_down.bias
xxhash  8d41ed3e2052e3fa  phi-2.Q6_K.gguf:blk.4.ffn_down.weight
xxhash  4e7083ef4478a691  phi-2.Q6_K.gguf:blk.5.attn_norm.bias
xxhash  69c9272ca0cd648f  phi-2.Q6_K.gguf:blk.5.attn_norm.weight
xxhash  b73bb0665ae988ad  phi-2.Q6_K.gguf:blk.5.attn_qkv.bias
xxhash  a02400356bcab678  phi-2.Q6_K.gguf:blk.5.attn_qkv.weight
xxhash  4bfd18c78a1160d0  phi-2.Q6_K.gguf:blk.5.attn_output.bias
xxhash  92a99d4240cdab65  phi-2.Q6_K.gguf:blk.5.attn_output.weight
xxhash  f2b4a11bd842bfe6  phi-2.Q6_K.gguf:blk.5.ffn_up.bias
xxhash  37dae8699df5ccde  phi-2.Q6_K.gguf:blk.5.ffn_up.weight
xxhash  171e75de47cb7d12  phi-2.Q6_K.gguf:blk.5.ffn_down.bias
xxhash  8911646281de996b  phi-2.Q6_K.gguf:blk.5.ffn_down.weight
xxhash  82fe82ea03f3f99a  phi-2.Q6_K.gguf:blk.6.attn_norm.bias
xxhash  62ab78aca2189e5e  phi-2.Q6_K.gguf:blk.6.attn_norm.weight
xxhash  f5876cfd80cb356a  phi-2.Q6_K.gguf:blk.6.attn_qkv.bias
xxhash  60136a369cbb6aea  phi-2.Q6_K.gguf:blk.6.attn_qkv.weight
xxhash  0cab20856b3bdf46  phi-2.Q6_K.gguf:blk.6.attn_output.bias
xxhash  d063dc1b7bce5297  phi-2.Q6_K.gguf:blk.6.attn_output.weight
xxhash  ca99801816847cb4  phi-2.Q6_K.gguf:blk.6.ffn_up.bias
xxhash  77b7cd028912e3ad  phi-2.Q6_K.gguf:blk.6.ffn_up.weight
xxhash  f37feebc4b67448f  phi-2.Q6_K.gguf:blk.6.ffn_down.bias
xxhash  71e30720c09a5d82  phi-2.Q6_K.gguf:blk.6.ffn_down.weight
xxhash  c37dddeb46a2a322  phi-2.Q6_K.gguf:blk.7.attn_norm.bias
xxhash  b27461ed17096491  phi-2.Q6_K.gguf:blk.7.attn_norm.weight
xxhash  d158f27321e8ac6f  phi-2.Q6_K.gguf:blk.7.attn_qkv.bias
xxhash  d43c1deb5fa7d450  phi-2.Q6_K.gguf:blk.7.attn_qkv.weight
xxhash  0ce4c3226bdddbf9  phi-2.Q6_K.gguf:blk.7.attn_output.bias
xxhash  577679ee3911a198  phi-2.Q6_K.gguf:blk.7.attn_output.weight
xxhash  d9f9d6c697c0da10  phi-2.Q6_K.gguf:blk.7.ffn_up.bias
xxhash  dd3068972a77b69b  phi-2.Q6_K.gguf:blk.7.ffn_up.weight
xxhash  311f6c75856cf128  phi-2.Q6_K.gguf:blk.7.ffn_down.bias
xxhash  fc2900625c0c7317  phi-2.Q6_K.gguf:blk.7.ffn_down.weight
xxhash  ba5fc515275aa359  phi-2.Q6_K.gguf:blk.8.attn_norm.bias
xxhash  0eeb9120ed51c7bb  phi-2.Q6_K.gguf:blk.8.attn_norm.weight
xxhash  b4abcb268651220c  phi-2.Q6_K.gguf:blk.8.attn_qkv.bias
xxhash  cd5c36c8bd40fa29  phi-2.Q6_K.gguf:blk.8.attn_qkv.weight
xxhash  94a497403ea0f4f6  phi-2.Q6_K.gguf:blk.8.attn_output.bias
xxhash  98a0d3c53876df3f  phi-2.Q6_K.gguf:blk.8.attn_output.weight
xxhash  280187300b2deec6  phi-2.Q6_K.gguf:blk.8.ffn_up.bias
xxhash  2a5a530e9d82b228  phi-2.Q6_K.gguf:blk.8.ffn_up.weight
xxhash  64ab9735a7fc5ebb  phi-2.Q6_K.gguf:blk.8.ffn_down.bias
xxhash  488bf7643f67ca85  phi-2.Q6_K.gguf:blk.8.ffn_down.weight
xxhash  767dad328f6c1262  phi-2.Q6_K.gguf:blk.9.attn_norm.bias
xxhash  9cde36668f97c638  phi-2.Q6_K.gguf:blk.9.attn_norm.weight
xxhash  a4e7f299d0c98718  phi-2.Q6_K.gguf:blk.9.attn_qkv.bias
xxhash  73a32a59ec5179dd  phi-2.Q6_K.gguf:blk.9.attn_qkv.weight
xxhash  eb72e91159acf3f0  phi-2.Q6_K.gguf:blk.9.attn_output.bias
xxhash  6609c1c0d823d3ad  phi-2.Q6_K.gguf:blk.9.attn_output.weight
xxhash  e3c3c7cb55984378  phi-2.Q6_K.gguf:blk.9.ffn_up.bias
xxhash  a6eebf6c0e9c6a00  phi-2.Q6_K.gguf:blk.9.ffn_up.weight
xxhash  72fd3a639e0d7325  phi-2.Q6_K.gguf:blk.9.ffn_down.bias
xxhash  a4f6e0c28f488a83  phi-2.Q6_K.gguf:blk.9.ffn_down.weight
xxhash  c8d93b3d7e85e9ca  phi-2.Q6_K.gguf:output.bias
xxhash  7669af4bbefbb795  phi-2.Q6_K.gguf:output.weight
xxhash  c0039b76acfb9c5d  phi-2.Q6_K.gguf:output_norm.bias
xxhash  9be45ca402211e6f  phi-2.Q6_K.gguf:output_norm.weight
xxhash  3945fdf249e72364  phi-2.Q6_K.gguf:blk.30.attn_qkv.bias
xxhash  9a736d1c5fec454f  phi-2.Q6_K.gguf:blk.30.attn_qkv.weight
xxhash  920da57fe2dea9f4  phi-2.Q6_K.gguf:blk.30.attn_output.bias
xxhash  ec6371c69f3cf122  phi-2.Q6_K.gguf:blk.30.attn_output.weight
xxhash  25a138ccac10ec8b  phi-2.Q6_K.gguf:blk.30.ffn_up.bias
xxhash  c25faa4722347003  phi-2.Q6_K.gguf:blk.30.ffn_up.weight
xxhash  69398d9bacf57ee9  phi-2.Q6_K.gguf:blk.30.ffn_down.bias
xxhash  343946e7b887264b  phi-2.Q6_K.gguf:blk.30.ffn_down.weight
xxhash  56ba5a98161dccce  phi-2.Q6_K.gguf:blk.31.attn_norm.bias
xxhash  66d3107dcddbdbcb  phi-2.Q6_K.gguf:blk.31.attn_norm.weight
xxhash  bade1a0695e12c56  phi-2.Q6_K.gguf:blk.31.attn_qkv.bias
xxhash  cdc53510adbcb0f6  phi-2.Q6_K.gguf:blk.31.attn_qkv.weight
xxhash  fc1eab81108c62f4  phi-2.Q6_K.gguf:blk.31.attn_output.bias
xxhash  8fe13a88e2f32a2e  phi-2.Q6_K.gguf:blk.31.attn_output.weight
xxhash  988b2c6d5cb7c35a  phi-2.Q6_K.gguf:blk.31.ffn_up.bias
xxhash  76236121a3a9e471  phi-2.Q6_K.gguf:blk.31.ffn_up.weight
xxhash  7e22f568b7defe11  phi-2.Q6_K.gguf:blk.31.ffn_down.bias
xxhash  ac25f65b30ef3c25  phi-2.Q6_K.gguf:blk.31.ffn_down.weight
xxhash  818489b2138f418f  phi-2.Q6_K.gguf
example of sha256 output of phi-2.Q6_K.gguf
sha256  b0fd9c3af25291c2e62d8f15d26d830dfe27ce9700c7c00d64960d6764983046  phi-2.Q6_K.gguf:token_embd.weight
sha256  057503264e58d3211a743da3a62e43a08ee0a68f6512d099b049f737e9541a46  phi-2.Q6_K.gguf:blk.0.attn_norm.bias
sha256  2594b888e498839dba891e376e1846ce7c1cb72e3cf77b5d9d740d0a26779219  phi-2.Q6_K.gguf:blk.0.attn_norm.weight
sha256  d25eb81704be5063972d2991ef379f8021f19a9dfe0403edb3d6ca97d3bdc3e3  phi-2.Q6_K.gguf:blk.0.attn_qkv.bias
sha256  8d51f6353028c0bde138dc62a347cbc6af193e29cbd0127d64ab7727093f7f86  phi-2.Q6_K.gguf:blk.0.attn_qkv.weight
sha256  a9a87fc895654ff3e97961620c17949fdef482084d6e486cc364532fd43b780c  phi-2.Q6_K.gguf:blk.0.attn_output.bias
sha256  ec63b19b203d8bb2f717061f4ee5a730d1c84df6f386d9afad23b87b3b8cee96  phi-2.Q6_K.gguf:blk.0.attn_output.weight
sha256  602a65c5868d40d1cd77ae9172c855f07ead507b755f52c61e9ff7e20f6bda0d  phi-2.Q6_K.gguf:blk.0.ffn_up.bias
sha256  4d89ad1219e3ec88bb29e0f5160591cb27bb785edc78f400597fe9044401f896  phi-2.Q6_K.gguf:blk.0.ffn_up.weight
sha256  fac82e0fb0467b9672ae561d591b3f1bbb43aeb40bd795ab8dcba43f68cdc2c5  phi-2.Q6_K.gguf:blk.0.ffn_down.bias
sha256  4548446790048543c6030ad605e14cb23f11e305e7a4e200c0025f5f41efbb8e  phi-2.Q6_K.gguf:blk.0.ffn_down.weight
sha256  6613fc86621cd46a6eea42621aa771daab37a0f53b77e25d12f04e384f8665c6  phi-2.Q6_K.gguf:blk.1.attn_norm.bias
sha256  b52f45d1ec58b3d662b10f9bc294c598a2aaa49d5f92b914218391aac7e15844  phi-2.Q6_K.gguf:blk.1.attn_norm.weight
sha256  d37bf621c0b52b36b9de938681427f09ba8ff40e834fba16494b02d09890f1f2  phi-2.Q6_K.gguf:blk.1.attn_qkv.bias
sha256  6853431b576a6b5183e9a6d3ac0092d5e6021ddbda1292783f6443f6efcf5238  phi-2.Q6_K.gguf:blk.1.attn_qkv.weight
sha256  cf09db705aaf1156e6dcfd10ebbb53e0b59f0ecd9559ead1bccc0cdb7b0ae577  phi-2.Q6_K.gguf:blk.1.attn_output.bias
sha256  7b58a9ca83249cd8022c06d2e0368eb885ad9676a155992d78233ad33ee1e4bc  phi-2.Q6_K.gguf:blk.1.attn_output.weight
sha256  263020ec8b8216df1009643b5b89640e6b722349871e30d6773c04a8b1132cbf  phi-2.Q6_K.gguf:blk.1.ffn_up.bias
sha256  96df81ed2d9c8c2e252a2baa177d7da3a1b1446689088675c937b1f72af36444  phi-2.Q6_K.gguf:blk.1.ffn_up.weight
sha256  310f6bb10bcff3e372f4a826f57b31d5c9e7cb48b3c329d46aa1e952f92c53b2  phi-2.Q6_K.gguf:blk.1.ffn_down.bias
sha256  4a4b55604ae5dd15e70dee91a1c6dceca4800baec750d96dc8e165827aa3f4c7  phi-2.Q6_K.gguf:blk.1.ffn_down.weight
sha256  dc156ff3936148fb13dacbeef2ec120809ca40c26db3af2a1605cf4a0b64d3a5  phi-2.Q6_K.gguf:blk.10.attn_norm.bias
sha256  5c5ed2731ec3714f50a5058b5144b172074822cd6932b1f9e6fd0e1c295c80b9  phi-2.Q6_K.gguf:blk.10.attn_norm.weight
sha256  6f5099d8ecf4d39a5d9e0fd75944b7aaeb86d0be74aa48b2283181bf254e1805  phi-2.Q6_K.gguf:blk.10.attn_qkv.bias
sha256  78a1b48aa2f738b7d081a297654f2716a59b8a7495c57b11bac523a642818d43  phi-2.Q6_K.gguf:blk.10.attn_qkv.weight
sha256  afc96b47e33c358e9ab4c29ebd9134e00d07b4e6b5809cbeb663748a4270b870  phi-2.Q6_K.gguf:blk.10.attn_output.bias
sha256  7415e1f80f6224b71264dbb2c146f4ed1f7ea96ee02d0a1d949327b41d72a9bb  phi-2.Q6_K.gguf:blk.10.attn_output.weight
sha256  d3aea2bb90d5911b85b39304dfb16836c4196e3d11ccb044ebde4ced62f08a1b  phi-2.Q6_K.gguf:blk.10.ffn_up.bias
sha256  4827aa560d26ca304f29f9e6a18a281e161b9674c12b8b1c5a94b0a09b8903eb  phi-2.Q6_K.gguf:blk.10.ffn_up.weight
sha256  487f24d549ef4a36378e094eced3aa2de4cb3f4a30a6d2edc0ce924e2aa49959  phi-2.Q6_K.gguf:blk.10.ffn_down.bias
sha256  65acf82edb322abde040d71323e0d7b89d335b2f050ac47069f03667346e9986  phi-2.Q6_K.gguf:blk.10.ffn_down.weight
sha256  82264b5e2697017370ac3f3dedcaa7bb43a1b5e4d2c4695a7c2e8e943a141188  phi-2.Q6_K.gguf:blk.11.attn_norm.bias
sha256  37cc5e55c6777d064b0fc35cc8924097c03dc6e38fbd1c134882f602f59ee8e7  phi-2.Q6_K.gguf:blk.11.attn_norm.weight
sha256  9d1fbcb28dbe1c87052e95aa4792aebd7c9aa3e46190691f6d71ce61bb81ff97  phi-2.Q6_K.gguf:blk.11.attn_qkv.bias
sha256  6531145928a357788d30cea5c42ecc22351ea7b91ce399073a120fc13614e5d8  phi-2.Q6_K.gguf:blk.11.attn_qkv.weight
sha256  71e269fe23643e9f086be0c78228a253a945891215fce1c6956ad38bb76968d3  phi-2.Q6_K.gguf:blk.11.attn_output.bias
sha256  6f3764eff733f2fe10e89684b91041b252c5fb0a0779bb4a0ddb233f0f9b66f0  phi-2.Q6_K.gguf:blk.11.attn_output.weight
sha256  4a014b438e34c27073b4545553891a38cee748c2f13905521666444500030b6c  phi-2.Q6_K.gguf:blk.11.ffn_up.bias
sha256  90498b527289ee9bddb764935de405cf0c9c274330e1e071f597cc2403adfadd  phi-2.Q6_K.gguf:blk.11.ffn_up.weight
sha256  605a901fc2dbb5da6d0370aad7cd4b7b76389e26d28e9f2ac7eac0019a97a9ba  phi-2.Q6_K.gguf:blk.11.ffn_down.bias
sha256  b02c919dd545795a97cff0d44b146eef86e0414b57575009d3a017cee10f4ab4  phi-2.Q6_K.gguf:blk.11.ffn_down.weight
sha256  de1c7b4151ac363c3378dc372e34416e782ab5eee0d940c62488fef5abb81b85  phi-2.Q6_K.gguf:blk.12.attn_norm.bias
sha256  d880b2d07b137344faf669b40e01f526fa469b2ec05f44f1a0d74914f8eda785  phi-2.Q6_K.gguf:blk.12.attn_norm.weight
sha256  fbd26d74284e9020011893e7b4638620c30f0bb2d8fb3bba10e0ff25ce9622e7  phi-2.Q6_K.gguf:blk.12.attn_qkv.bias
sha256  01b3756f427c9d1dea4185e3aea9adeb2d20be78f7f0e60afc707dcaa438c26e  phi-2.Q6_K.gguf:blk.12.attn_qkv.weight
sha256  bd6f9abcdb5bb236fdf74597acca6ba6e58b6c67a91ec45ebdb8f38e7586c042  phi-2.Q6_K.gguf:blk.12.attn_output.bias
sha256  fa1c50eee2e1c886b36a518cb06f969f2e9c75eb68e090c9aed6403468e27cfd  phi-2.Q6_K.gguf:blk.12.attn_output.weight
sha256  9a7b3da5e7acd35f81a141667e19f1ff08544d37223b40f66916379e8cdf6ac2  phi-2.Q6_K.gguf:blk.12.ffn_up.bias
sha256  d68f902239ce8179acd8421a4ba283e6cf2aeec978ab57a70c21b395a989d9bc  phi-2.Q6_K.gguf:blk.12.ffn_up.weight
sha256  a22b99b27f31e1fc0b759d2b5ba29d8c6ff323d4596919951aa54eb69dc32485  phi-2.Q6_K.gguf:blk.12.ffn_down.bias
sha256  4c65e8e35a4a7b01fe2f626934f5b512336bb9bd90b150c397e2526ae0ec2810  phi-2.Q6_K.gguf:blk.12.ffn_down.weight
sha256  be16da6f115a1a5af58ebf19e6f31de2e29e179a7183c18ab203ec084fdd8139  phi-2.Q6_K.gguf:blk.13.attn_norm.bias
sha256  0cfd77f23d32cc75e407e1440b9b7313ab954d9b3ecd3fe6168c290139c110d1  phi-2.Q6_K.gguf:blk.13.attn_norm.weight
sha256  96b2e2976ee2701831aeb0c1670068c0ef52d15b8d9ffe41764dea3d4f02d0dc  phi-2.Q6_K.gguf:blk.13.attn_qkv.bias
sha256  7eee57be172477c2c123bd056398ef2d36f7f7cd1d6e6e7ca7832d0019e7ac5b  phi-2.Q6_K.gguf:blk.13.attn_qkv.weight
sha256  87bb7860cbfa11b17b63d1c4096cb4c8e6add984d405fd8824e1b720929b5745  phi-2.Q6_K.gguf:blk.13.attn_output.bias
sha256  9814d92f12096e8814c8bffcfcf45f5f53646550a72dbc16a113fb2e3f3305e7  phi-2.Q6_K.gguf:blk.13.attn_output.weight
sha256  40e90cb09597816540272d890ac0f3de7b2015e3becb120e79cc466a42d1e8b8  phi-2.Q6_K.gguf:blk.13.ffn_up.bias
sha256  37255678553bef8e446e322b86ff4bf8205428c7707bea38c3f0335e921be882  phi-2.Q6_K.gguf:blk.13.ffn_up.weight
sha256  5faf513cc82fe647458f1684545bf4b1658750c33c320689d57d7c85bc742e4b  phi-2.Q6_K.gguf:blk.13.ffn_down.bias
sha256  6226a2bf305ac57aef0632832b4ff246024eaea78691e883fae73727f275d70e  phi-2.Q6_K.gguf:blk.13.ffn_down.weight
sha256  02165b7ba0da5bab34567d924645444c063867e523ce90775faca9b7ec23ae32  phi-2.Q6_K.gguf:blk.14.attn_norm.bias
sha256  252de378ab4aace17a2599d26f6a443f8f33cf2125d187e043cb08b4a9942f95  phi-2.Q6_K.gguf:blk.14.attn_norm.weight
sha256  f1f1999d87120833947a72a5cc21207eae1daeddcae449458c7f751f46963055  phi-2.Q6_K.gguf:blk.14.attn_qkv.bias
sha256  2af7b6dc472c686548d64b3018b7ea90e413971aeeccec294aae3fc0d9077ae5  phi-2.Q6_K.gguf:blk.14.attn_qkv.weight
sha256  4b35a624b9c9316d00dec8b3cfab03104cf43c6f9eb0a82a52f07a03afc4e9ba  phi-2.Q6_K.gguf:blk.14.attn_output.bias
sha256  e2e32c8bdf3f3eeb92b7535de56a69a9c4b33729d74b61f0a945efcb2839254d  phi-2.Q6_K.gguf:blk.14.attn_output.weight
sha256  5ec5bf70658d578acc68a2bc06ba87dda0cf364846835e605be80a3e1caac8d0  phi-2.Q6_K.gguf:blk.14.ffn_up.bias
sha256  01c18ff141117194aaccba34018794bb8fe1e9bcc8ed401e06fd0779f71b4360  phi-2.Q6_K.gguf:blk.14.ffn_up.weight
sha256  70eb9b12055df6bd73211aa47e74c7ca0c8d1bff85d698dd77b6e96d6b37d978  phi-2.Q6_K.gguf:blk.14.ffn_down.bias
sha256  b5426d0d1d2a981ec49170d539a0db733f81c8d96e42667127c5f7df1239b40a  phi-2.Q6_K.gguf:blk.14.ffn_down.weight
sha256  87bb42225e7dbe20219867c8e61595c26e34859529bb6e8524a7beb86cde45d5  phi-2.Q6_K.gguf:blk.15.attn_norm.bias
sha256  4e97ae91b86bc2dc4451c8b61c9ef02ec33c27625e7a6ed03487dea76ca1c219  phi-2.Q6_K.gguf:blk.15.attn_norm.weight
sha256  926afc50237eae6a625da1980f5bc8451ee0b57830b28b047f569e9d3761864e  phi-2.Q6_K.gguf:blk.15.attn_qkv.bias
sha256  7b00be2db005a531650baef3c607877b0f50c2f62d826cb6d2ce7dae66698cb2  phi-2.Q6_K.gguf:blk.15.attn_qkv.weight
sha256  014899407e1335882640f5293d21a61141bf87dd687e2d8fb1f2626c40b8997a  phi-2.Q6_K.gguf:blk.15.attn_output.bias
sha256  323facc85dff67062ce79779a847271190587347a7bee02ca78d8dc58ca3056b  phi-2.Q6_K.gguf:blk.15.attn_output.weight
sha256  15125f3c5e7e6fd1cb0c454043cfb6f35774afb24a9c86e1a34cdee51923524a  phi-2.Q6_K.gguf:blk.15.ffn_up.bias
sha256  01afabbfe7e07211cc103a1027842f8d0f1909be010cddda5147ba872000c5cf  phi-2.Q6_K.gguf:blk.15.ffn_up.weight
sha256  d71be532e8f66bb1ff68d693ceef7936f4709d5a420cac99e0643e39e92cb356  phi-2.Q6_K.gguf:blk.15.ffn_down.bias
sha256  5cc9d4d0b20eaa962a5c99a0152abdcb3e4f5711f5754970c83e853fcb8eb029  phi-2.Q6_K.gguf:blk.15.ffn_down.weight
sha256  caf0b6182a9a0e7fcbdd2f8c5b76dff9c3487893cef30b430eb06e75290c502e  phi-2.Q6_K.gguf:blk.16.attn_norm.bias
sha256  94682aee7629320f4c3481e018a1313dddbc6a6b28787efe5330ca1ed71b018d  phi-2.Q6_K.gguf:blk.16.attn_norm.weight
sha256  d33fc24470623ab49d8727bb0a5c85435446ac74460af7879c55f13a08fa75ef  phi-2.Q6_K.gguf:blk.16.attn_qkv.bias
sha256  6984538f6039218220dfaa213495ce12f0278562a40d45b4cc56e46930680ffb  phi-2.Q6_K.gguf:blk.16.attn_qkv.weight
sha256  d2f9da9a56fae3b0eac30017b36a8d59bdb2cbecd25bf7295ad82f61fe4e99c9  phi-2.Q6_K.gguf:blk.16.attn_output.bias
sha256  a673d272d5f92690028080ba0c50d822a29cfd460e707288dbe6d4fc9ae41edb  phi-2.Q6_K.gguf:blk.16.attn_output.weight
sha256  d28fb9f0663ef639127325b0019bab9e73c2301a6cf5f7707c1b5d1a1d9ad0f6  phi-2.Q6_K.gguf:blk.16.ffn_up.bias
sha256  df1062a0cf4fac43e2236f995e29ec3210d0095c6643e8e6c00fb160f8972cb2  phi-2.Q6_K.gguf:blk.16.ffn_up.weight
sha256  42bb8da54cd6054804af832adfc87e06e7310f26f7a403e3628be0c6c37d08ca  phi-2.Q6_K.gguf:blk.16.ffn_down.bias
sha256  b72272c7627b8c52823be8c3a1a12c2c83ef749bc1f42393ba12f247c2a73aac  phi-2.Q6_K.gguf:blk.16.ffn_down.weight
sha256  dd906f170b95932e647dadf132d1d22829917022ba3be356d41f1ba049da11ca  phi-2.Q6_K.gguf:blk.17.attn_norm.bias
sha256  771a723978e2f0be02ae70f2127eeb72e88595dd918c8c5e94bb44c60679d31f  phi-2.Q6_K.gguf:blk.17.attn_norm.weight
sha256  f887549e53d92e5c901f4f5d8e0b5005c29cb6b2ac433d3e8ce98b23610a4687  phi-2.Q6_K.gguf:blk.17.attn_qkv.bias
sha256  1e53f7ca0d0204c40fd2de2088f297fb7bbffd9d9c7142f856e1a7b5d04b711d  phi-2.Q6_K.gguf:blk.17.attn_qkv.weight
sha256  9d10fdebfa8564a950ac96f5ddf59d68eb9083d073719871785d0a90114322ec  phi-2.Q6_K.gguf:blk.17.attn_output.bias
sha256  cb578a83527e7b3bd7a3d25dc8309db3c8510e6d315f1d4dc2c83285fbf0ffcc  phi-2.Q6_K.gguf:blk.17.attn_output.weight
sha256  9c72e71d96e4eaaad21069c5eca0b238f85f16490f4b5071e1f8b606f4b1492a  phi-2.Q6_K.gguf:blk.17.ffn_up.bias
sha256  fecd997b64806947e9a1e578ac9e43b2ae0aa8439cb94bb23b3721a7d40cdb49  phi-2.Q6_K.gguf:blk.17.ffn_up.weight
sha256  7f3497d7e0d024ff38e693f32bd33ba415c15bf2244318489b78dd7ab13bc803  phi-2.Q6_K.gguf:blk.17.ffn_down.bias
sha256  a3f867f6a676203fbbb82ee44b1f76c9fea6d7ffb57f46045303b46657ee710e  phi-2.Q6_K.gguf:blk.17.ffn_down.weight
sha256  2f78f09bed1e8c31c5b312221f56d2efe0349e7d3a37756175d5a8adc1fd7dad  phi-2.Q6_K.gguf:blk.18.attn_norm.bias
sha256  5743c3427550ade2cfccb6f849aa240b11681a48522305c1618eec7165c12cee  phi-2.Q6_K.gguf:blk.18.attn_norm.weight
sha256  0cfb3819bf65e7756bcabeadf009dbda6a7fb6d6c2ef4762daff515c9f2d5279  phi-2.Q6_K.gguf:blk.18.attn_qkv.bias
sha256  2cc4b5799a663725da9bdfd3eb349e27b82069e03d1a9fc11e068c198ee2c866  phi-2.Q6_K.gguf:blk.18.attn_qkv.weight
sha256  a64bdb1aab7ca0493423df16f1203507ecea037593a0011d8e07fc9e3be70b35  phi-2.Q6_K.gguf:blk.18.attn_output.bias
sha256  ff2ec597d5a786388edbb6d72f8f72fde734fb519297e9e04dbd102bf18fff34  phi-2.Q6_K.gguf:blk.18.attn_output.weight
sha256  fd1a585e60a0aa33ed954d90b025c97862a846ebe7e6dad2f4c069dbb3d8eee4  phi-2.Q6_K.gguf:blk.18.ffn_up.bias
sha256  644380c29b245b9f938c8e2ec71b2a9e03d4128fc6755d111893f8690b1bed61  phi-2.Q6_K.gguf:blk.18.ffn_up.weight
sha256  5d194c0d065a768e442b43a4f86b0fa0a108e5c43631484b4baa4811d6aa008a  phi-2.Q6_K.gguf:blk.18.ffn_down.bias
sha256  30fb11a80d8963702160f927797e7e2abc00071741229e7a54dcdc0ad3464079  phi-2.Q6_K.gguf:blk.18.ffn_down.weight
sha256  9fe7937f47cbf3d26b8a13b3fc7ab35b51c0dde018d6180527ae23ccb1b4e069  phi-2.Q6_K.gguf:blk.19.attn_norm.bias
sha256  4c8a9bd14e9692b70e57a1e74a0d47aeb41d489dc280f5eb9089ca65503333e5  phi-2.Q6_K.gguf:blk.19.attn_norm.weight
sha256  854b4e5f17e854a9de6d908c14758ca9c7f2efe915de93a47ee6a9e77df61103  phi-2.Q6_K.gguf:blk.19.attn_qkv.bias
sha256  5e97e05367d823cfcc6bb913b5106bd0ae3e700a65da3e3429986d3c974f19e3  phi-2.Q6_K.gguf:blk.19.attn_qkv.weight
sha256  b5eb2e5449468f6ac416f72ac02d5c4fcce28cfe48ea8f41f451f6a081ca8537  phi-2.Q6_K.gguf:blk.19.attn_output.bias
sha256  c0d934b950b75163d4099aef0e11c8bcbe323b2dfdd4af26fa84d913527f455c  phi-2.Q6_K.gguf:blk.19.attn_output.weight
sha256  4a82039f0f5780bc07d89f2a3d9436abcdd3dd8793c359ca5af30ad498fb6a8f  phi-2.Q6_K.gguf:blk.19.ffn_up.bias
sha256  1425114a2ababb1156e34f35be40835c1cadf87a14147d1abf036f43e91776be  phi-2.Q6_K.gguf:blk.19.ffn_up.weight
sha256  622a70f981e042007179838100648d68eeddc511ce3bae77511fb68b7b5d9bd4  phi-2.Q6_K.gguf:blk.19.ffn_down.bias
sha256  1721157b881e2fa7e81e5bc1ad5e1a79f78c0f52badc824f1215503aeff158cd  phi-2.Q6_K.gguf:blk.19.ffn_down.weight
sha256  90285b2a3f74ffc122e1eb74206f9412ec3f31a7c08df36e8b3bb2970bdbb1de  phi-2.Q6_K.gguf:blk.2.attn_norm.bias
sha256  7573eb56490a8c761c3bc82d3023ceb2fe84c289584081b8e3745d23eb07988d  phi-2.Q6_K.gguf:blk.2.attn_norm.weight
sha256  8e05cbe9769109cf5309fde0867d6ed6d7b91f510846c3f0912538f0ba6900a6  phi-2.Q6_K.gguf:blk.2.attn_qkv.bias
sha256  8f53050a7918e0730589c49a0004a1b0f5dcf449528a1a3e333f8aea854d2e72  phi-2.Q6_K.gguf:blk.2.attn_qkv.weight
sha256  a470905d4a97400f4fdafdac7ecefd8502661dd6ca966a8a86452d31a0589e96  phi-2.Q6_K.gguf:blk.2.attn_output.bias
sha256  054f0248f19f46a6d3bd0064f57a57385c0123991b34383e377a1f18bdd742c6  phi-2.Q6_K.gguf:blk.2.attn_output.weight
sha256  7d84fad233d4f688facb68ae82738f1f8cf5baf9a490959ec0d610e8b9e9f183  phi-2.Q6_K.gguf:blk.2.ffn_up.bias
sha256  abd59cd3c3d2fa11755e23315bafc29bfedaf2a998b244aff56695192dd54a9c  phi-2.Q6_K.gguf:blk.2.ffn_up.weight
sha256  128018c9aea281b2bc05db504771424c8df68f8d51f2df6441a11ea10243b62c  phi-2.Q6_K.gguf:blk.2.ffn_down.bias
sha256  9af18c5e5d652fb672186858bdb7a9443166226c011a104002bfe2903f0555ce  phi-2.Q6_K.gguf:blk.2.ffn_down.weight
sha256  7912cc48a6d2f2c016bc374112fa50cecc3f13e8f1cf858cadc5a8d3fcb06eac  phi-2.Q6_K.gguf:blk.20.attn_norm.bias
sha256  e077aaa812ec7cff916803428978a4390885ae749993e1a6136a496c458d3b48  phi-2.Q6_K.gguf:blk.20.attn_norm.weight
sha256  924571a5b91f0586ea3925ddcac43f4083052f607f83d0c7f4582e0faddbb940  phi-2.Q6_K.gguf:blk.20.attn_qkv.bias
sha256  8073afa0678e91fe6b3b1bf03edce975a71e17cbaf36d746a464cd776af02605  phi-2.Q6_K.gguf:blk.20.attn_qkv.weight
sha256  80427721dad7bc5d27f85cca2b4cd6cd58d0af447379a36c79f904a7fc05d415  phi-2.Q6_K.gguf:blk.20.attn_output.bias
sha256  baafe542cfdb41fc1569c34f68d754356e0c9cce350d710b04908a9ca0d13874  phi-2.Q6_K.gguf:blk.20.attn_output.weight
sha256  316c4460de14039f6023b6667cf0ef7a462af49a607fc7bebaa79202fea9ba77  phi-2.Q6_K.gguf:blk.20.ffn_up.bias
sha256  88ce9f05b02df1384f33a1aa671b24741be6d06bb7ad10f9542e77b2bad7ed78  phi-2.Q6_K.gguf:blk.20.ffn_up.weight
sha256  d52cc5fa43d34011e906396726b590ee721a5ca6bfa4d935b6ec592bf88966d6  phi-2.Q6_K.gguf:blk.20.ffn_down.bias
sha256  330495e501e640e4db8a0f235708292d7418c31773e073747954187c79efd80b  phi-2.Q6_K.gguf:blk.20.ffn_down.weight
sha256  770f63ad92acdb29b6a69545df695e3ee93b1f202fc2a9addea741fbe74ae2c1  phi-2.Q6_K.gguf:blk.21.attn_norm.bias
sha256  3ada63730640464b12df9099064f235eed87008e837931261b3c50a3c9f3d952  phi-2.Q6_K.gguf:blk.21.attn_norm.weight
sha256  96e717faa63e1cb39dc0f43e87a98d1655abb478eddbd9511396c77d3f639acc  phi-2.Q6_K.gguf:blk.21.attn_qkv.bias
sha256  719bdc4a46bcd9a32d4b244a440ea22c7ecaa21c417f8c2033c347cfbde1aec9  phi-2.Q6_K.gguf:blk.21.attn_qkv.weight
sha256  90166de6a3df844fc7c69d2c493d9f008b9366fc030882a7bfa6834639a99033  phi-2.Q6_K.gguf:blk.21.attn_output.bias
sha256  b77bd4e8cf3f47f93be04a8baecd5c0c2e46ae532da813f7e5de5e9cab571c31  phi-2.Q6_K.gguf:blk.21.attn_output.weight
sha256  adebb5598f73c32b222568f0f33a77870e90a0b8c752c300c09e9021b11ba4ae  phi-2.Q6_K.gguf:blk.21.ffn_up.bias
sha256  2057edea54e7bc8e8ac52330737c0c240aca99d2ecc44a5eba500ff80546a6c9  phi-2.Q6_K.gguf:blk.21.ffn_up.weight
sha256  f3996a95a1691b7ff692b4efbcbee13315ed9f706001363f25c7f85cdf9b6aa1  phi-2.Q6_K.gguf:blk.21.ffn_down.bias
sha256  b28a7c6606f7fb83d1f65b94a1b383ff42d4d2044aee05bd0d30552cc4bd7a8f  phi-2.Q6_K.gguf:blk.21.ffn_down.weight
sha256  619c65071b77b1f7ff1e3bb55575ea326cf2331c666fb9ffea44a20e1c6c8d1d  phi-2.Q6_K.gguf:blk.22.attn_norm.bias
sha256  68185084a1a9fa61bd095b9577650326604c9b1e260fcbd4113b219a6d2e69f6  phi-2.Q6_K.gguf:blk.22.attn_norm.weight
sha256  fde760f05efdb05c0f6ffa804b0db05727a2985599dba4585547a03503a52176  phi-2.Q6_K.gguf:blk.22.attn_qkv.bias
sha256  ea164efa0585f4ce6a5c31a48bb835843fe0d6337667c19bc2b33edeecb0f1a9  phi-2.Q6_K.gguf:blk.22.attn_qkv.weight
sha256  cbde3761b902d392cb1dda375e09a8919cefc7774631918b2d9df6bcbc4c3a5a  phi-2.Q6_K.gguf:blk.22.attn_output.bias
sha256  ecb617163e54b9d3bfdfae0ebe5f62f277bd7aec13d1071f9d02000ccac70b48  phi-2.Q6_K.gguf:blk.22.attn_output.weight
sha256  b58511ccd701020a3afda330090e0373a118680d86e3bbe43699ec8dde1a4e68  phi-2.Q6_K.gguf:blk.22.ffn_up.bias
sha256  a5a09eca67c5be59a8e3a785f26b8d3db59be1df74150e2a71264694559eda93  phi-2.Q6_K.gguf:blk.22.ffn_up.weight
sha256  4c54ed3d3efc389012888c5eb9a9c9319106c70f58b5ec263bc81bfe37a9370d  phi-2.Q6_K.gguf:blk.22.ffn_down.bias
sha256  54bc1b58630efc4249535d03013cc4ab5ff4b589976a383f38cf955cdba04cad  phi-2.Q6_K.gguf:blk.22.ffn_down.weight
sha256  91774d23443eb4659f75112a0508ab630c8e75edf69f630d811ea61064cff126  phi-2.Q6_K.gguf:blk.23.attn_norm.bias
sha256  a428e5437012e7d84fad74726a6f7a84c4ffb9ee783cd6c210bd065300afac68  phi-2.Q6_K.gguf:blk.23.attn_norm.weight
sha256  a22e6ece22a1e7c5b0e7c1016cb26f77b4743f81d336c89da9cc49865cdaabd7  phi-2.Q6_K.gguf:blk.23.attn_qkv.bias
sha256  76e55e5781a84b24d5e9bbc29ee13ab6a01bd2840cb32dda296c2f597795945d  phi-2.Q6_K.gguf:blk.23.attn_qkv.weight
sha256  cb0191dd1a7d7a32dc7b697c1364e76cf30bdfd9ac7744f596a1475c1d0bd229  phi-2.Q6_K.gguf:blk.23.attn_output.bias
sha256  f38343d88599a579b0e01415786e6c139af2f3ee3f2ca1d6b9421aa1dbd8b06c  phi-2.Q6_K.gguf:blk.23.attn_output.weight
sha256  78c1a86991cc5079b778fb355c66e97cca62278adbf893481ed59a516bb0adef  phi-2.Q6_K.gguf:blk.23.ffn_up.bias
sha256  183eecd28e3e93f88e23022fb7a90b3ff1c3e8862237c389c96d97e6e1f77441  phi-2.Q6_K.gguf:blk.23.ffn_up.weight
sha256  5693a6e11b18cab3e6a06cc38faa372593a41d388b6997d3992c0aed5a53493b  phi-2.Q6_K.gguf:blk.23.ffn_down.bias
sha256  2a8dda55f1d00767d9b564f9606de22e474c90ba7deeb837471cdbe9c1cf8b79  phi-2.Q6_K.gguf:blk.23.ffn_down.weight
sha256  f40452609b9b4dad6b0091ddd17441eb1af50eabc8aa8a86635888b2f3d09ae2  phi-2.Q6_K.gguf:blk.24.attn_norm.bias
sha256  77bd45701ae6b8bd9f97829b9b943a79bee1320a967b41d78b97408464467989  phi-2.Q6_K.gguf:blk.24.attn_norm.weight
sha256  3f5a433e50d5b0c870139112a412189ef75411a2eb35623880e1d3cd82386ac5  phi-2.Q6_K.gguf:blk.24.attn_qkv.bias
sha256  c94104f459cbb090370340b12e1191c918d9fee3255ac5910b8f838b74f1eb5c  phi-2.Q6_K.gguf:blk.24.attn_qkv.weight
sha256  e85db64455abe4d91b4626d867af6c44e51c784821fe22604b647364e87a2cc9  phi-2.Q6_K.gguf:blk.24.attn_output.bias
sha256  1559d9626d3002830edb373e3d41698cc47043497b0ddf9bc1621d9ac226e280  phi-2.Q6_K.gguf:blk.24.attn_output.weight
sha256  1344ec5a24815d2f0306787f45df621af46dea6a10f251bd057c2d97908cfc6e  phi-2.Q6_K.gguf:blk.24.ffn_up.bias
sha256  73a6de3c9fea54291696a2599c10d806866982928a7b95a24cd0744742889a3e  phi-2.Q6_K.gguf:blk.24.ffn_up.weight
sha256  1ad3fbe1a5f17ea32afad10f1465a1620d86c1ece508b775dae37863fa28452c  phi-2.Q6_K.gguf:blk.24.ffn_down.bias
sha256  2ddd2c69beaf503aa702ec58e9ce5cbfe282e44205cc63cc28f38accbe031e59  phi-2.Q6_K.gguf:blk.24.ffn_down.weight
sha256  68818ed26ac2712eddb2b5763f29ddf25a5efe76261b906e10cdef018da11df0  phi-2.Q6_K.gguf:blk.25.attn_norm.bias
sha256  46d5777cf826702de9442102d9f556e92e12f2bdc78453431eddfd7785b7e996  phi-2.Q6_K.gguf:blk.25.attn_norm.weight
sha256  d9e4fdcbc71b17f76af3ba1781f9899a24690b49f919a0db832737a136f211a2  phi-2.Q6_K.gguf:blk.25.attn_qkv.bias
sha256  973928463eaeba0ee098996a434276ebbbb550a93917f581a3322aa4284c50f4  phi-2.Q6_K.gguf:blk.25.attn_qkv.weight
sha256  38f9e435ee1def03cc4e770a4bfde87336be9e0ecbbcb97a8b39829e69cd96fe  phi-2.Q6_K.gguf:blk.25.attn_output.bias
sha256  e1d4aabefc9ba91dd27331b02f2aa7e2a66723f3e8aade07da072d72fd611a5b  phi-2.Q6_K.gguf:blk.25.attn_output.weight
sha256  68b700d5b1d9bb91fd68f11622afa6d129e54fd3aad4c0acb071e8f931f9118d  phi-2.Q6_K.gguf:blk.25.ffn_up.bias
sha256  999bb67d2889eff5eaccb3dc8929931ba5d56f430f89e36e4ac1eebe6764c956  phi-2.Q6_K.gguf:blk.25.ffn_up.weight
sha256  851661997ad9e9c3ffac35390fb1f20a0e7738ad4aa12d436f606327dd44c74d  phi-2.Q6_K.gguf:blk.25.ffn_down.bias
sha256  4bd0e71e167f520901e7425789576048ac25bf3c9f7f6161c9e76b4bfde027e8  phi-2.Q6_K.gguf:blk.25.ffn_down.weight
sha256  cd652834ad907c7571764a2dbc56553f503da31e083f5118416c1df1739e27f3  phi-2.Q6_K.gguf:blk.26.attn_norm.bias
sha256  bb16139196da39c1c2354707b0134bf40d3b80039f1489d6422f443ac352e1a8  phi-2.Q6_K.gguf:blk.26.attn_norm.weight
sha256  7f9639631345e3fdb23a5c61c6c72aa291fd6c6ff448d88b93bf0bfde1980788  phi-2.Q6_K.gguf:blk.26.attn_qkv.bias
sha256  6333f3dcc1943c80cf00516171301d8a2067789de403c6e400f3732363df9ba5  phi-2.Q6_K.gguf:blk.26.attn_qkv.weight
sha256  d726ef25c712872f1fb48f29ad13539a4f0696c292104ba8c0d21dfba5b84534  phi-2.Q6_K.gguf:blk.26.attn_output.bias
sha256  61436739e2e2fb4f15062746de24fc10ef538890c87fda866ee5e0ffcda733ec  phi-2.Q6_K.gguf:blk.26.attn_output.weight
sha256  01543aeaa8abc7995c0ceb2c4347fac1fb79d74d1f179b856afc005d9d5f0e93  phi-2.Q6_K.gguf:blk.26.ffn_up.bias
sha256  859e905b2764e2d487add1a72d74ffeeffa3bec45f353b21f6ad98072889305d  phi-2.Q6_K.gguf:blk.26.ffn_up.weight
sha256  5f5659cb88f51ae4fbac651dd621aae32367880942a84392925cc8a3c824f860  phi-2.Q6_K.gguf:blk.26.ffn_down.bias
sha256  92d733e2e98728ca9e8a358dcc99765f820a202aa5b0720d6cd9551db90cfd3e  phi-2.Q6_K.gguf:blk.26.ffn_down.weight
sha256  206bf4d3beb998d04612cf9b701db0b1dec6cf2ab80d55d5290b3a021ca1151c  phi-2.Q6_K.gguf:blk.27.attn_norm.bias
sha256  6f272eea8efc690a7d2ed7dfa6a604b1fc820f63d18e3051e686c0f66d0b8145  phi-2.Q6_K.gguf:blk.27.attn_norm.weight
sha256  e5ac6ab00f1faa17e1074e54da9db54b0d70c681e58f0f230aa2d7ceab43de17  phi-2.Q6_K.gguf:blk.27.attn_qkv.bias
sha256  c06907c80a28db07364c26531436132de3684ee82a1e28ee5c840eb56638b63b  phi-2.Q6_K.gguf:blk.27.attn_qkv.weight
sha256  25f941afcda883898563f05c16a6e660eacdba0d1e3767cbcd9e73cadd99d44a  phi-2.Q6_K.gguf:blk.27.attn_output.bias
sha256  eb11719ba1e8a10dfd722b4aaaf226d7940d3723af1b5c2430c95b889106d204  phi-2.Q6_K.gguf:blk.27.attn_output.weight
sha256  2b988706305b036518eef3e4cbe80599b106e14f23ab54eb4e396c3f7a26c0ce  phi-2.Q6_K.gguf:blk.27.ffn_up.bias
sha256  b5688ce21df74d6e1c1a96895c384860d52c69ba599c4de97a7054c8bbff8096  phi-2.Q6_K.gguf:blk.27.ffn_up.weight
sha256  5a1fae2f46ee2cab4fd814e4f30c0e9fa1eb759c6a08ad31a29acafe8af8a2c7  phi-2.Q6_K.gguf:blk.27.ffn_down.bias
sha256  d74df0e676e89177d79f442fbd7145af8534c256f923d6519b11cdbd670c8334  phi-2.Q6_K.gguf:blk.27.ffn_down.weight
sha256  530fa3d7272e03ba7e721f07ec92e507d1c666458a98df3ea06a9a5c1b089383  phi-2.Q6_K.gguf:blk.28.attn_norm.bias
sha256  a1c7d32c0e418be0518da89ac39453c08919ed1a60570ffa482f10aab3aebbf4  phi-2.Q6_K.gguf:blk.28.attn_norm.weight
sha256  0c7e45f7fa036985d32f2fc2a39d7b9bc5e006e00f5d89b6d3f9d74f7cb55f51  phi-2.Q6_K.gguf:blk.28.attn_qkv.bias
sha256  a36758b300ed5379e56db45d48d7aea0767a2323372e33b35dd9c5b7f03ed277  phi-2.Q6_K.gguf:blk.28.attn_qkv.weight
sha256  fa28d1ca57ba181783beba8673fe2f0462b67be5fcfe4413268257a50e467b79  phi-2.Q6_K.gguf:blk.28.attn_output.bias
sha256  bf3d80b84426cc34836a45b10355b268b57d22a111f25061c6d6cce35941c919  phi-2.Q6_K.gguf:blk.28.attn_output.weight
sha256  522ddc91b5d78bca21b116748ad62acbac6261b76f70d9f870481d782d66e39e  phi-2.Q6_K.gguf:blk.28.ffn_up.bias
sha256  a8b80358cbae488184c688a3704785e71814bbe0e679c46d68b7e7b0c4559d8c  phi-2.Q6_K.gguf:blk.28.ffn_up.weight
sha256  b6ce510fddd8205d521e507c68af8c5ff3157f2dffb17d7559c056c9023c09e1  phi-2.Q6_K.gguf:blk.28.ffn_down.bias
sha256  0ef8e99452f77bce5c96426ab09c96d93530554d920b9977230b929dd4ae5092  phi-2.Q6_K.gguf:blk.28.ffn_down.weight
sha256  47c35738e608b493ecb1f6bab53296080e3f7988962a12068f8e4a1ccaeef9f9  phi-2.Q6_K.gguf:blk.29.attn_norm.bias
sha256  c8fbb70c363c97a18a655ac86cb3079868fd961a4a601c92b65d44821dead740  phi-2.Q6_K.gguf:blk.29.attn_norm.weight
sha256  bceaf792f1aa3f1bb732b775d2baace5440562ef3ccfbd2c3b1479993d822f82  phi-2.Q6_K.gguf:blk.29.attn_qkv.bias
sha256  d983b9541caf520979bfc7ccf6b0292f4ef3073b3a5b9ed39f5d8fb627927cb2  phi-2.Q6_K.gguf:blk.29.attn_qkv.weight
sha256  85da94b153c1007138e9c0588145bab821d1704a747eb0999ec65fd50d5fbdfb  phi-2.Q6_K.gguf:blk.29.attn_output.bias
sha256  9e5e3ce25d415621cb9a491330a2ea6c1c855b4eec0cfcb1c225b1c91d6554c3  phi-2.Q6_K.gguf:blk.29.attn_output.weight
sha256  3f202a7ae5e642789b2dec9376d0b61d14ac521f310f1a3a138439964ba648d4  phi-2.Q6_K.gguf:blk.29.ffn_up.bias
sha256  b0ee0b518af55d17187f4f8fb024dd3f51f732268e567805442b1ae0af232697  phi-2.Q6_K.gguf:blk.29.ffn_up.weight
sha256  2b27e47e6b3f1cbf5aecc795acdd421a03246cb7952d0927f6d721f6dada86f6  phi-2.Q6_K.gguf:blk.29.ffn_down.bias
sha256  b6c45fdb655b173127a3daeb1ae99629f6c57d4d09a3ac102396c1e9291e3d80  phi-2.Q6_K.gguf:blk.29.ffn_down.weight
sha256  9df41c53b1dc6f6493c22ddf055719b728f7b51189a4c7b3e97a6abeacd71d8c  phi-2.Q6_K.gguf:blk.3.attn_norm.bias
sha256  db4c8b1f1ba6e7dcdf8cd55d8fcdbad2b9f43a6e105e5609a39ea026eaf2cd92  phi-2.Q6_K.gguf:blk.3.attn_norm.weight
sha256  c3dd8efa6d961c5a69b5743b01b510d9afeafaff2d3cdd5482539030e396bdcb  phi-2.Q6_K.gguf:blk.3.attn_qkv.bias
sha256  07db6fca31b5f42611d8ed054257e6943c012d1f32538c55b7a10052e52ed947  phi-2.Q6_K.gguf:blk.3.attn_qkv.weight
sha256  984b34a0c77ab6998c1bd3b88c9f957bd93f841047ce912ff717fe522913a92a  phi-2.Q6_K.gguf:blk.3.attn_output.bias
sha256  21990234d4f36fd4b6d92cb59930a0218f6c9934605647057d3c8ea6ab8a329c  phi-2.Q6_K.gguf:blk.3.attn_output.weight
sha256  d39f09430aca647afdcf5e0e69a9e9d6b157d908b53ef20c9866ce1f83300b03  phi-2.Q6_K.gguf:blk.3.ffn_up.bias
sha256  07bf4a64e93ccca1810a3a4a0ace87f00f9737aec9bb2a4f44687d968ed62109  phi-2.Q6_K.gguf:blk.3.ffn_up.weight
sha256  78f0e935f76bcb4392e0f025c86a2f7d5cebe109b331a58b1d3546e93a2253b6  phi-2.Q6_K.gguf:blk.3.ffn_down.bias
sha256  b988f36c49a4ba1458e8acc04481b77a40cb4e42762e3e18b00872b73f26950b  phi-2.Q6_K.gguf:blk.3.ffn_down.weight
sha256  3038acac6e37180b0747f9928833ae1068262eff96b59180d3a4bc927bfaedbc  phi-2.Q6_K.gguf:blk.30.attn_norm.bias
sha256  0e2e2a1be7c53d2168f30843ef83ebed782b0d40c5fa82ead991309d4d696efd  phi-2.Q6_K.gguf:blk.30.attn_norm.weight
sha256  f96b0636a3e927a0cc2eeda8e5a0436855781ce68543c736f777d5d35ac4b43d  phi-2.Q6_K.gguf:blk.4.attn_norm.bias
sha256  991c0123f29793f1dc65cbc8e18d2801000d67641cac6177a8e19833f450f304  phi-2.Q6_K.gguf:blk.4.attn_norm.weight
sha256  a29ec8ed4a5796022c9ee59c79357a9076c5275570bb6aaadcb4b73923246126  phi-2.Q6_K.gguf:blk.4.attn_qkv.bias
sha256  7c08d0861c02eeb01ba83db32afa443f022f57c0c7433829867ccfef8f44563c  phi-2.Q6_K.gguf:blk.4.attn_qkv.weight
sha256  3a5e8ddd320fcf0dcd61ad8cd51441905861cdf471e2feaaa874ead2563e62fb  phi-2.Q6_K.gguf:blk.4.attn_output.bias
sha256  7f19868e067d0cbb8d67998b47d835237356473b8069ab99ce55c96e8b355f65  phi-2.Q6_K.gguf:blk.4.attn_output.weight
sha256  cfc440088c3c706ddc69341b90cccbd6a1713561b24cc6b82b32a836406b6940  phi-2.Q6_K.gguf:blk.4.ffn_up.bias
sha256  9d79f70e8b46f8a2ec3a23507159b9e034faedc1b9350f294f04e02f794b1cdf  phi-2.Q6_K.gguf:blk.4.ffn_up.weight
sha256  fbad443b78d1b9fae919aa0983f3ee273b7b17c274d71ed123274dcfa029ff73  phi-2.Q6_K.gguf:blk.4.ffn_down.bias
sha256  eb97861b916e1bc5067dd5707319ae4839dd51192f610a591f3081258a31d4f0  phi-2.Q6_K.gguf:blk.4.ffn_down.weight
sha256  942dc7e942949ea79bfc11c5216906c6c78818ba9c197df651a39a3dc60d6bbb  phi-2.Q6_K.gguf:blk.5.attn_norm.bias
sha256  7f64c4d790f9941662f560f5f51d0ea06c451f0eff8c2011ee963db9acec9ab3  phi-2.Q6_K.gguf:blk.5.attn_norm.weight
sha256  feadfa8efbc24331745335f11f0c61ee9be8af0eece72643512d1732f9bc2c49  phi-2.Q6_K.gguf:blk.5.attn_qkv.bias
sha256  dd7267b390bdec283acaf9359b9df25071beb508eeac2b9851984a0848c4d34d  phi-2.Q6_K.gguf:blk.5.attn_qkv.weight
sha256  50b44ed7219c324f9d54fa7fdd56e4d68f15d09ca1dc154e078073b4124067b5  phi-2.Q6_K.gguf:blk.5.attn_output.bias
sha256  4d6eeba6fa869930a6ccc5ff06248a5d23378f0ebdfc17f985f396a8e0dd5f98  phi-2.Q6_K.gguf:blk.5.attn_output.weight
sha256  30602d69117fa9449b038c59fd03e85b60a671a409e5a5d734fd39e270b514c4  phi-2.Q6_K.gguf:blk.5.ffn_up.bias
sha256  9507ea2b57bbd13fa4fdcf49d2f0b7dacf4cc269ccdff11222c22ce8fa953431  phi-2.Q6_K.gguf:blk.5.ffn_up.weight
sha256  74d9adad7b747f8cc70a4d7bf2e3a560ab7fe506eb70d8bd2d21a49f2041c206  phi-2.Q6_K.gguf:blk.5.ffn_down.bias
sha256  dec8e8e3c2cc45e68d250dd38c9258089f79c808d247991a84101f02bdca824b  phi-2.Q6_K.gguf:blk.5.ffn_down.weight
sha256  8e3ffdb0189e51793536f8e7362f09a2edfb59911eb0acf040b63bd5eb21b02d  phi-2.Q6_K.gguf:blk.6.attn_norm.bias
sha256  469d9df65d5fb593447911fe4d6316287d95a2ec7d629f2fa20621aa71d16c7d  phi-2.Q6_K.gguf:blk.6.attn_norm.weight
sha256  dcc654223e3b10bbbfce37864c92dc719d284f68fd61483be39496e0a2f02c42  phi-2.Q6_K.gguf:blk.6.attn_qkv.bias
sha256  f9ca81fb9740c6920bcfebab2a8af472234f5029b53c11d2770f8a42bc9f5a38  phi-2.Q6_K.gguf:blk.6.attn_qkv.weight
sha256  39eee4e094893b4e6628679a7a940059c211d10bfab634169a10bb5cd9811d63  phi-2.Q6_K.gguf:blk.6.attn_output.bias
sha256  6b5b334b82bdaed963061af8f742e58b574ebd3c2581c36da073da8fbad705f0  phi-2.Q6_K.gguf:blk.6.attn_output.weight
sha256  64c84d7ce1e7a90f7794441bfd6fa25841da8ea7ec098667b1b1721ff15285f9  phi-2.Q6_K.gguf:blk.6.ffn_up.bias
sha256  322f36f822865340429eeed69c97220c89de81b30bcebfbd56650d476578f857  phi-2.Q6_K.gguf:blk.6.ffn_up.weight
sha256  7cc19fc8ecda0f4eeeed9bcd8d0103f27fadae90437296040a72ee3d5ab39e69  phi-2.Q6_K.gguf:blk.6.ffn_down.bias
sha256  176be85b4b4246fbddc8335b77567ef0f7f78ee2c39ac714ba6335f77879ba32  phi-2.Q6_K.gguf:blk.6.ffn_down.weight
sha256  f65dda9d979f58c8ca6f6f40fe98052b5f2ad12f530c7013bc8a59d3fa2bb819  phi-2.Q6_K.gguf:blk.7.attn_norm.bias
sha256  c44c63f42d38f12019cd87b886948bcde22cd2034b91eec003156ccfddf3307c  phi-2.Q6_K.gguf:blk.7.attn_norm.weight
sha256  606eafa9a0f4b1eb07dab64dca262cabdd5d4e1d0b0280b0b503d9da81a46c82  phi-2.Q6_K.gguf:blk.7.attn_qkv.bias
sha256  e8e552eee8030b428feb4452322e81e54a7ebbd46cb3876dddd8ced5c69a28e4  phi-2.Q6_K.gguf:blk.7.attn_qkv.weight
sha256  b6b5eacf85a8883834c2ae118a8af5de603d084cf8832e1223be91b965a825f3  phi-2.Q6_K.gguf:blk.7.attn_output.bias
sha256  de9fe4738484ee93a9c0a9cf05fa7d2936912cba675709286fb0b113a9938431  phi-2.Q6_K.gguf:blk.7.attn_output.weight
sha256  1adefc7a798bd294f48020b9bda7bda0800ee5efc2a8d2c97283b503778d59ce  phi-2.Q6_K.gguf:blk.7.ffn_up.bias
sha256  9808498bb5dd01c2cc2bd0cace0e4b4d49f9f829c532174eab07012db8d5a92f  phi-2.Q6_K.gguf:blk.7.ffn_up.weight
sha256  df489c5c86936216e4dc6615f03620230d38fc9b96aa867714d855d4de7effaa  phi-2.Q6_K.gguf:blk.7.ffn_down.bias
sha256  9a297cc6a4aed648f50c98222b32b3e1709d72cc2dcc4bfb50edb78951d67a21  phi-2.Q6_K.gguf:blk.7.ffn_down.weight
sha256  934aca8eef3bfea03e68cbb9780714b40c3e8da50fbe384f62be1b5d65c1167c  phi-2.Q6_K.gguf:blk.8.attn_norm.bias
sha256  f9c885cc59507360d3ef0010007271f2630049d8bb5db43436b8eef23c1f4f14  phi-2.Q6_K.gguf:blk.8.attn_norm.weight
sha256  1a34fddaf9149867fe86c528fe30e1c1a01715568c831d3849a6dbafc8433c5d  phi-2.Q6_K.gguf:blk.8.attn_qkv.bias
sha256  ee6fc53cbdfc6ba63ec40769de859fa8ee5d66b80cb5332c2edb782c4bb7cdcc  phi-2.Q6_K.gguf:blk.8.attn_qkv.weight
sha256  3e0317fcbf6433fd3bfd4ff23f966396f374031d8fb3118550f28006aa8e06fa  phi-2.Q6_K.gguf:blk.8.attn_output.bias
sha256  60c34304529a3e01f40ccf65377bb5e8cd798790083512ed98adb0a947f24aaa  phi-2.Q6_K.gguf:blk.8.attn_output.weight
sha256  f18448173536ee87e12ef4b653f34711e5aacab4fbf2f4b5128a6f35a0d950db  phi-2.Q6_K.gguf:blk.8.ffn_up.bias
sha256  dfbf1fb1f92aa1a0201176253ede4b0ca9f8a413748b45af1f5d42315fcd9fe8  phi-2.Q6_K.gguf:blk.8.ffn_up.weight
sha256  1bd8b8385e9c6f54c77cddbd84ac82a59718c626a561ec4775216d07fb53af57  phi-2.Q6_K.gguf:blk.8.ffn_down.bias
sha256  fa4351850eb65dd7683f7a6c4a8bb8e7ff1dfaf065929cbf48de1d724708c3bf  phi-2.Q6_K.gguf:blk.8.ffn_down.weight
sha256  08054a819a719500e06bd0fd7e8b7a62c8364a91e21e93a88abe83b0991de81d  phi-2.Q6_K.gguf:blk.9.attn_norm.bias
sha256  8e474d380e989bc34d0c97562ccc575483699d3e394728853bdae14210b6de81  phi-2.Q6_K.gguf:blk.9.attn_norm.weight
sha256  1ad06ddef573a2c83ae5c5054ab928e750fed7b2b0eed94ba2e1be9db10ff4d2  phi-2.Q6_K.gguf:blk.9.attn_qkv.bias
sha256  ab25a7f76fbb51d1ca31dc9241b588aeba260691f9fa225ddec68b2e0d98745e  phi-2.Q6_K.gguf:blk.9.attn_qkv.weight
sha256  9b47c2abffdab7094addad97bea02d4510908dc8dd4d6b06ae615baabf527e1b  phi-2.Q6_K.gguf:blk.9.attn_output.bias
sha256  eee2e1b8d78dc74eec214c270b8fd5d723b7954d575acbb88a9bd0f458490ef0  phi-2.Q6_K.gguf:blk.9.attn_output.weight
sha256  f167fc12e749175e60b9a9dc3601015100f720e0135d63ec68a9cd5959bca28a  phi-2.Q6_K.gguf:blk.9.ffn_up.bias
sha256  219fec4aa805db617b2b55aad1c75df5661f45a5a58da1038cc0c455bf05f6e4  phi-2.Q6_K.gguf:blk.9.ffn_up.weight
sha256  e8f816a0574a1ae7054e2a545a0ead72e014d5b089535755abda52faecbf7d9f  phi-2.Q6_K.gguf:blk.9.ffn_down.bias
sha256  25413c7c82cbe4189f30eddd6a12278de6301e90c495b38e5c27269bb9b85d2d  phi-2.Q6_K.gguf:blk.9.ffn_down.weight
sha256  5c28a91425bc208cb6b574b664e826a1a4df131ac328099f04cda6d1ca1a622e  phi-2.Q6_K.gguf:output.bias
sha256  ad74829883dc97a722865040e0488ed5d52dc3fb9a5b12aaad983c9a85731ef8  phi-2.Q6_K.gguf:output.weight
sha256  611e8d27811ff20bfde912b71626840ea1ef32fd14b4c0bb896b986d60babfe7  phi-2.Q6_K.gguf:output_norm.bias
sha256  0d0baff2986e977627845c5ed7932ad1ed075aae43a8f88c72cd6386073ed393  phi-2.Q6_K.gguf:output_norm.weight
sha256  27f139a40ce76d52d4dcb882a96979fcf46fe505ecfba6b82e0fa877cf87c08e  phi-2.Q6_K.gguf:blk.30.attn_qkv.bias
sha256  0f80de552eb6a21bfe0ccb721e5f70dd808c91e76c1560db968bd7b6ccb1d1a9  phi-2.Q6_K.gguf:blk.30.attn_qkv.weight
sha256  4d105c5ee17594f1a600151d3b8c21c3036a06afa809c42ff953643e7429ca60  phi-2.Q6_K.gguf:blk.30.attn_output.bias
sha256  87adc2b166aabdbee044e3e0caaef70060701bfd38524611a3432b14f610037d  phi-2.Q6_K.gguf:blk.30.attn_output.weight
sha256  0c6b4b89d373726ac4aa6e214cf2f318d240f4ef33ff0b8fe0a3e29f6d330afc  phi-2.Q6_K.gguf:blk.30.ffn_up.bias
sha256  4cc2e4f8fc3bbb25f991160d96dfc266645d34e3901bd54dea1de0cb63f1eff8  phi-2.Q6_K.gguf:blk.30.ffn_up.weight
sha256  065e58e0165cabd2b50b10b4e9fa5a8d8520104ff5c85e65d1c317467cf2d070  phi-2.Q6_K.gguf:blk.30.ffn_down.bias
sha256  6290c7775f3d0cb8511e09d5bb02c95690b2a6f8136bb086966bd14ce068d7a2  phi-2.Q6_K.gguf:blk.30.ffn_down.weight
sha256  55d6d6ca23fd1528397095ca686227d4caf92a616a7036d66a50fa9052baa46e  phi-2.Q6_K.gguf:blk.31.attn_norm.bias
sha256  4668d9ad36ff092cf034a48a2eec8230f242aacee827c563c79e94621e524321  phi-2.Q6_K.gguf:blk.31.attn_norm.weight
sha256  d392b9055dc8f1c2127d8196daeeed757f89ae5030130e4b69ff1cc939459436  phi-2.Q6_K.gguf:blk.31.attn_qkv.bias
sha256  7f59019012a5134400526efba02ee9ef5b1d11cc0c725a2ac21d058754c019d1  phi-2.Q6_K.gguf:blk.31.attn_qkv.weight
sha256  31003ad45f7292d479b9efff55703f0ace9593b91ab6697569c1d54f462de25c  phi-2.Q6_K.gguf:blk.31.attn_output.bias
sha256  fab1a8e57b4a42ee1415e3a620b71f04bd04c4d1656c7b0f80a9ce3364d634a5  phi-2.Q6_K.gguf:blk.31.attn_output.weight
sha256  7a64c9f9a7aeca6a78b7f166209eb82a3f45950e7037c00d7b59a29075d21166  phi-2.Q6_K.gguf:blk.31.ffn_up.bias
sha256  e85a0ac64c72bb1c628204fea99e362b7532d3b5cfb7d159769ce69cb48d78e3  phi-2.Q6_K.gguf:blk.31.ffn_up.weight
sha256  c4962babbca41a98af36e83c26be1e670d0e1f60eb051f339dc42ccb63a0fa01  phi-2.Q6_K.gguf:blk.31.ffn_down.bias
sha256  02489e8abf6d8e40c1d868cd236673b022fa3fcdd7cd86c7e73e3a1ad3e30819  phi-2.Q6_K.gguf:blk.31.ffn_down.weight
sha256  8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  phi-2.Q6_K.gguf

Overall the checksum for the whole tensor arrays in this test is:

xxhash  818489b2138f418f  phi-2.Q6_K.gguf
sha1    32ea6e22a0c63beef6ce2ba15471689b8144b39c  phi-2.Q6_K.gguf
sha256  8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  phi-2.Q6_K.gguf

Which matches the cross Checking with gguf dump --data-offset feature that was recently added:

$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | xxhsum
818489b2138f418f  stdin
$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | sha1sum
32ea6e22a0c63beef6ce2ba15471689b8144b39c  -
$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | sha256sum
8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  -

Note that this cross check method will hold true until we start appending any non tensor data in future gguf format.

As for the UUID via tensor generation this is what I got:

$llama-gguf-hash --uuid phi-2.Q6_K.gguf
UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf

@mofosyne mofosyne marked this pull request as draft June 21, 2024 04:02
@github-actions github-actions bot added examples python python script changes labels Jun 21, 2024
@mofosyne mofosyne added the Review Complexity : Low Trivial changes to code that most beginner devs (or those who want a break) can tackle. e.g. UI fix label Jun 21, 2024
@ggerganov
Copy link
Owner

There is also the option to use existing hash utilities to hash the GGUF data. For example, something like:

# skip the GGUF header
dd bs=1 skip=$(gguf-dump --data-offset model.gguf) if=model.gguf | sha256sum

Would that work?

@mofosyne
Copy link
Collaborator Author

@ggerganov gave your approach a shot #8054 (PR to add --data-offset and --data-alignment) it does work, but your initial suggestion of setting bs=1 and using skip=X was very slow. Turns out you should set bs=X and skip=1.

$:~/Documents/LLMmodel/gguf$ time dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf | sha1sum
1264+1 records in
1264+1 records out
2283253760 bytes (2.3 GB, 2.1 GiB) copied, 4.32916 s, 527 MB/s
32ea6e22a0c63beef6ce2ba15471689b8144b39c  -

real	0m7.200s
user	0m6.797s
sys	0m1.326s

$:~/Documents/LLMmodel/gguf$ time dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf | sha256sum
1264+1 records in
1264+1 records out
2283253760 bytes (2.3 GB, 2.1 GiB) copied, 9.95004 s, 229 MB/s
8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  -

real	0m13.016s
user	0m12.744s
sys	0m1.509s

Looks like 32ea6e22a0c63beef6ce2ba15471689b8144b39c matches the sha1 sum of my C and python approach, so it works well. I think it's however making an assumption that every tensor data area flows on to the next without any padding and that the future of the gguf file format would not include any non tensor data appended to it (Noticed some discussion of extending that area... so might be a concern).

I think GG's approach is valid as it will be faster as long as these assumption holds (so we could use that for internal CI tests as it be obvious if it breaks because of gguf file format evolution).

However you may still want to keep this PR if you want to support per tensor hash checks. Also I would like to develop a consistent way to identify gguf models by model tensors (even if kv metadata changes)

@mofosyne mofosyne marked this pull request as ready for review June 22, 2024 15:58
@mofosyne
Copy link
Collaborator Author

mofosyne commented Jun 22, 2024

Attempted to add sha256 to the gguf-hash.c, but for some reason it just doesn't want to work, so abandoned that approach.

Anyway, I've added UUIDv5 model ID generation to the C implementation (Using uuid.uuid5(uuid.NAMESPACE_URL, 'en.wikipedia.org/wiki/Llama.cpp') --> "ef001206-dadc-5f6d-a15f-3359e577d4e5" as the UUIDv5 namespace) and made sure it matches the python implementation. This was relatively easy as I've already got sha1 working in gguf-hash.c

So now we got a consistent way of generating a UUIDv5 based on the GGUF tensor content if we choose to do so.

Below is how I checked both generated the same UUIDv5

$ ~/llama.cpp/build/bin/llama-gguf-hash --uuid phi-2.Q6_K.gguf 
UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf
$ ~/llama.cpp/gguf-py/scripts/gguf-hash.py phi-2.Q6_K.gguf
...
UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf

Anyway, this PR is now considered operational.

@mofosyne mofosyne force-pushed the gguf-hash branch 3 times, most recently from 0dbd834 to 029a963 Compare June 23, 2024 09:46
@mofosyne
Copy link
Collaborator Author

Unsure what's the issue with makefile in the windows context...

@compilade
Copy link
Collaborator

Unsure what's the issue with makefile in the windows context...

@mofosyne The problem is with xxhash:

https://github.com/ggerganov/llama.cpp/actions/runs/9632516256/job/26565799805?pr=8048#step:7:80

D:\a\llama.cpp\llama.cpp\examples\gguf-hash\deps\xxhash\xxhash.h(1691,1): fatal error C1083: Cannot open include file: 'stdalign.h': No such file or directory [D:\a\llama.cpp\llama.cpp\build\examples\gguf-hash\xxhash.vcxproj]

@mofosyne
Copy link
Collaborator Author

mofosyne commented Jun 25, 2024

@compilade. That's pretty strange... so basically visual studio don't support all C11 features? This is the checks in xxhash.h

#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* >= C11 */
#  include <stdalign.h>
#  define XXH_ALIGN(n)      alignas(n)
#elif defined(__cplusplus) && (__cplusplus >= 201103L) /* >= C++11 */
/* In C++ alignas() is a keyword */
#  define XXH_ALIGN(n)      alignas(n)
#elif defined(__GNUC__)
#  define XXH_ALIGN(n)      __attribute__ ((aligned(n)))
#elif defined(_MSC_VER)
#  define XXH_ALIGN(n)      __declspec(align(n))
#else
#  define XXH_ALIGN(n)   /* disabled */
#endif

edit: Turns out windows C11 at least for windows-2019 (unsure if fixed on windows-2020 github runner) is lying about it's support for C11 standard as explained in google-deepmind/mujoco#862 . They had to do a workaround in google-deepmind/mujoco@ac6663f .

Be interesting to see if newer windows build works better... should we update the github runner to the latest windows-2020 version? (Pushing a commit to test the idea)

@github-actions github-actions bot added the devops improvements to build systems and github actions label Jun 25, 2024
@mofosyne mofosyne force-pushed the gguf-hash branch 2 times, most recently from c9ae59f to ddfe234 Compare June 27, 2024 14:12
@compilade
Copy link
Collaborator

compilade commented Jul 6, 2024

Regarding xxhash, note that it's not in Python's hashlib (at least not in Python 3.11.9), so if it's desirable to hash tensors from Python convert scripts, it would require yet another dependency. I think it would be best to stick to more widely-supported hash functions.

(Although xxhash does seem to be extremely fast)

@mofosyne
Copy link
Collaborator Author

mofosyne commented Jul 6, 2024

@compilade finally! Thanks for your assistance here. Did some sanity checking against the other gguf dump --data-offset feature that was recently added approach.

Overall the checksum for the whole tensor arrays in this test via ~/gitextern/llama.cpp/llama-gguf-hash is:

xxhash  818489b2138f418f  phi-2.Q6_K.gguf
sha1    32ea6e22a0c63beef6ce2ba15471689b8144b39c  phi-2.Q6_K.gguf
sha256  8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  phi-2.Q6_K.gguf

Which matches the gguf-dump approach :

$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | xxhsum
818489b2138f418f  stdin
$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | sha1sum
32ea6e22a0c63beef6ce2ba15471689b8144b39c  -
$ dd bs=$(~/gitextern/llama.cpp/gguf-py/scripts/gguf-dump.py --data-offset phi-2.Q6_K.gguf) skip=1 if=phi-2.Q6_K.gguf  status=none | sha256sum
8b5eea25e2946b05e345dc0e1dea191968bd2ebc6a15cb321085391dc89d9692  -

Also on cross checking that the python matches the C approach for UUID generation (and also sha1):

$~/gitextern/llama.cpp/llama-gguf-hash --sha1 phi-2.Q6_K.gguf
...
sha1    32ea6e22a0c63beef6ce2ba15471689b8144b39c  phi-2.Q6_K.gguf

$~/gitextern/llama.cpp/llama-gguf-hash --uuid phi-2.Q6_K.gguf
UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf

$~/gitextern/llama.cpp/gguf-py/scripts/gguf-hash.py phi-2.Q6_K.gguf
...
sha1    32ea6e22a0c63beef6ce2ba15471689b8144b39c  phi-2.Q6_K.gguf
UUIDv5  15608c46-42f1-50ae-b98f-04c394f6806f  phi-2.Q6_K.gguf

So this PR is now ready for review

@mofosyne mofosyne requested a review from compilade July 6, 2024 03:55
@mofosyne
Copy link
Collaborator Author

mofosyne commented Jul 7, 2024

Validation added now, this is how you may use it. A manifest file can contain multiple different gguf files in it, which may be useful if you are creating a ci/cd validation file and don't want to pollute the repo with too many test files.

If a gguf file you are validating doesn't match, then the program will return an error exit code.

Also note that unlike sha256sum, this hash doesn't support checking for presence of other gguf files. In fact I think I want a better word than manifest, considering this file is more of a 'database of hashes' rather than a record of all files we are expecting in an archive.

Generate manifest

To generate we may use this command

./llama-gguf-hash --all test.gguf > test.gguf.manifest

Which would generate a manifest that looks like below, which contains multiple hash type and per tensor layer hashes as well
(This excludes UUID as that is an ID not a hash)

xxh64     f66e9cd66a4396a0  test.gguf:tensor_0
sha1      59f79ecefd8125a996fdf419239051a7e99e5f20  test.gguf:tensor_0
sha256    c0510d38fa060c46265e0160a85c7243096b01dd31c2f355bdbb5516b20de1bd  test.gguf:tensor_0
xxh64     7d3a1f9ac04d0537  test.gguf:tensor_1
sha1      4765f592eacf096df4628ba59476af94d767080a  test.gguf:tensor_1
sha256    8514cbcc73692a2c56bd7a33a022edd5ff819614bd23b19915d7224387f397a7  test.gguf:tensor_1
xxh64     a0af5d700049693b  test.gguf:tensor_2
sha1      25cbfbad4513cc348e2c95ebdee69d6ff2fd8753  test.gguf:tensor_2
sha256    947e6b36e20f2cc95e1d2ce1c1669d813d574657ac6b5ac5196158d454d35180  test.gguf:tensor_2
xxh64     e83fddf559d7b6a6  test.gguf:tensor_3
sha1      a9cba73e2d90f2ee3dae2548caa42bef3fe6a96c  test.gguf:tensor_3
sha256    423b044e016d8ac73c39f23f60bf01bedef5ecb03c0230accd824c91fe86f1a1  test.gguf:tensor_3
xxh64     1257733306b7992d  test.gguf:tensor_4
sha1      d7bc61db93bb685ce9d598da89717c66729b7543  test.gguf:tensor_4
sha256    79737cb3912d4201384cf7f16a1a37ff7823f23ea796cb205b6ca361ab9e3ebf  test.gguf:tensor_4
xxh64     d238d16ba4711e58  test.gguf:tensor_5
sha1      0706566c198fe1072f37e0a5135b4b5f23654c52  test.gguf:tensor_5
sha256    60949be8298eced0ecdde64487643d018407bd261691e061d9e9c3dbc9fd358b  test.gguf:tensor_5
xxh64     3fbc3b65ab8c7f39  test.gguf:tensor_6
sha1      73922a0727226a409049f6fc3172a52219ca6f00  test.gguf:tensor_6
sha256    574f4c46ff384a3b9a225eb955d2a871847a2e8b3fa59387a8252832e92ef7b0  test.gguf:tensor_6
xxh64     c22021c29854f093  test.gguf:tensor_7
sha1      efc39cece6a951188fc41e354c73bbfe6813d447  test.gguf:tensor_7
sha256    4c0410cd3c500f078ae5b21e8dc9eb79e29112713b2ab58a882f82a3868d4d75  test.gguf:tensor_7
xxh64     936df61f5d64261f  test.gguf:tensor_8
sha1      c2490296d789a4f34398a337fed8377d943d9f06  test.gguf:tensor_8
sha256    c4401313feeba0261275c3b25bd2d8fe40ce04e0f440c2980ed0e9674c30ff01  test.gguf:tensor_8
xxh64     93fd20c64421c081  test.gguf:tensor_9
sha1      7047ce1e78437a6884337a3751c7ee0421918a65  test.gguf:tensor_9
sha256    23d57cf0d7a6e90b0b3616b41300e0cd354781e812add854a5f95aa55f2bc514  test.gguf:tensor_9
xxh64     5a54d3aad816f302  test.gguf
sha1      d15be52c4ff213e823cb6dd13af7ee2f978e7042  test.gguf
sha256    7dd641b32f59b60dbd4b5420c4b0f6321ccf48f58f6ae201a3dbc4a58a27c6e4  test.gguf

Validation

Below are some examples of different validations you can do with a manifest

Check using strongest hash

We can then use the normal check command which will by default check for the highest security strength hash and verify against that:

$ ./llama-gguf-hash --check test.gguf.manifest test.gguf
manifest  test.gguf.manifest  sha256  sha1  xxh64
sha256    c0510d38fa060c46265e0160a85c7243096b01dd31c2f355bdbb5516b20de1bd  test.gguf:tensor_0  -  Ok
sha256    8514cbcc73692a2c56bd7a33a022edd5ff819614bd23b19915d7224387f397a7  test.gguf:tensor_1  -  Ok
sha256    947e6b36e20f2cc95e1d2ce1c1669d813d574657ac6b5ac5196158d454d35180  test.gguf:tensor_2  -  Ok
sha256    423b044e016d8ac73c39f23f60bf01bedef5ecb03c0230accd824c91fe86f1a1  test.gguf:tensor_3  -  Ok
sha256    79737cb3912d4201384cf7f16a1a37ff7823f23ea796cb205b6ca361ab9e3ebf  test.gguf:tensor_4  -  Ok
sha256    60949be8298eced0ecdde64487643d018407bd261691e061d9e9c3dbc9fd358b  test.gguf:tensor_5  -  Ok
sha256    574f4c46ff384a3b9a225eb955d2a871847a2e8b3fa59387a8252832e92ef7b0  test.gguf:tensor_6  -  Ok
sha256    4c0410cd3c500f078ae5b21e8dc9eb79e29112713b2ab58a882f82a3868d4d75  test.gguf:tensor_7  -  Ok
sha256    c4401313feeba0261275c3b25bd2d8fe40ce04e0f440c2980ed0e9674c30ff01  test.gguf:tensor_8  -  Ok
sha256    23d57cf0d7a6e90b0b3616b41300e0cd354781e812add854a5f95aa55f2bc514  test.gguf:tensor_9  -  Ok
sha256    7dd641b32f59b60dbd4b5420c4b0f6321ccf48f58f6ae201a3dbc4a58a27c6e4  test.gguf  -  Ok

Verification results for test.gguf.manifest - Success

Check using fastest hash

Or we may explicitly ask for a faster hash like:

$ ./llama-gguf-hash --check test.gguf.manifest --xxh64 test.gguf
manifest  test.gguf.manifest  sha256  sha1  xxh64
xxh64     f66e9cd66a4396a0  test.gguf:tensor_0  -  Ok
xxh64     7d3a1f9ac04d0537  test.gguf:tensor_1  -  Ok
xxh64     a0af5d700049693b  test.gguf:tensor_2  -  Ok
xxh64     e83fddf559d7b6a6  test.gguf:tensor_3  -  Ok
xxh64     1257733306b7992d  test.gguf:tensor_4  -  Ok
xxh64     d238d16ba4711e58  test.gguf:tensor_5  -  Ok
xxh64     3fbc3b65ab8c7f39  test.gguf:tensor_6  -  Ok
xxh64     c22021c29854f093  test.gguf:tensor_7  -  Ok
xxh64     936df61f5d64261f  test.gguf:tensor_8  -  Ok
xxh64     93fd20c64421c081  test.gguf:tensor_9  -  Ok
xxh64     5a54d3aad816f302  test.gguf  -  Ok

Verification results for test.gguf.manifest - Success

Check using all hashes

Or maybe we want to just check that all the hash is valid:

$./llama-gguf-hash --check test.gguf.manifest --all test.gguf.manifest
manifest  test.gguf.manifest  sha256  sha1  xxh64
xxh64     f66e9cd66a4396a0  test.gguf:tensor_0  -  Ok
sha1      59f79ecefd8125a996fdf419239051a7e99e5f20  test.gguf:tensor_0  -  Ok
sha256    c0510d38fa060c46265e0160a85c7243096b01dd31c2f355bdbb5516b20de1bd  test.gguf:tensor_0  -  Ok
xxh64     7d3a1f9ac04d0537  test.gguf:tensor_1  -  Ok
sha1      4765f592eacf096df4628ba59476af94d767080a  test.gguf:tensor_1  -  Ok
sha256    8514cbcc73692a2c56bd7a33a022edd5ff819614bd23b19915d7224387f397a7  test.gguf:tensor_1  -  Ok
xxh64     a0af5d700049693b  test.gguf:tensor_2  -  Ok
sha1      25cbfbad4513cc348e2c95ebdee69d6ff2fd8753  test.gguf:tensor_2  -  Ok
sha256    947e6b36e20f2cc95e1d2ce1c1669d813d574657ac6b5ac5196158d454d35180  test.gguf:tensor_2  -  Ok
xxh64     e83fddf559d7b6a6  test.gguf:tensor_3  -  Ok
sha1      a9cba73e2d90f2ee3dae2548caa42bef3fe6a96c  test.gguf:tensor_3  -  Ok
sha256    423b044e016d8ac73c39f23f60bf01bedef5ecb03c0230accd824c91fe86f1a1  test.gguf:tensor_3  -  Ok
xxh64     1257733306b7992d  test.gguf:tensor_4  -  Ok
sha1      d7bc61db93bb685ce9d598da89717c66729b7543  test.gguf:tensor_4  -  Ok
sha256    79737cb3912d4201384cf7f16a1a37ff7823f23ea796cb205b6ca361ab9e3ebf  test.gguf:tensor_4  -  Ok
xxh64     d238d16ba4711e58  test.gguf:tensor_5  -  Ok
sha1      0706566c198fe1072f37e0a5135b4b5f23654c52  test.gguf:tensor_5  -  Ok
sha256    60949be8298eced0ecdde64487643d018407bd261691e061d9e9c3dbc9fd358b  test.gguf:tensor_5  -  Ok
xxh64     3fbc3b65ab8c7f39  test.gguf:tensor_6  -  Ok
sha1      73922a0727226a409049f6fc3172a52219ca6f00  test.gguf:tensor_6  -  Ok
sha256    574f4c46ff384a3b9a225eb955d2a871847a2e8b3fa59387a8252832e92ef7b0  test.gguf:tensor_6  -  Ok
xxh64     c22021c29854f093  test.gguf:tensor_7  -  Ok
sha1      efc39cece6a951188fc41e354c73bbfe6813d447  test.gguf:tensor_7  -  Ok
sha256    4c0410cd3c500f078ae5b21e8dc9eb79e29112713b2ab58a882f82a3868d4d75  test.gguf:tensor_7  -  Ok
xxh64     936df61f5d64261f  test.gguf:tensor_8  -  Ok
sha1      c2490296d789a4f34398a337fed8377d943d9f06  test.gguf:tensor_8  -  Ok
sha256    c4401313feeba0261275c3b25bd2d8fe40ce04e0f440c2980ed0e9674c30ff01  test.gguf:tensor_8  -  Ok
xxh64     93fd20c64421c081  test.gguf:tensor_9  -  Ok
sha1      7047ce1e78437a6884337a3751c7ee0421918a65  test.gguf:tensor_9  -  Ok
sha256    23d57cf0d7a6e90b0b3616b41300e0cd354781e812add854a5f95aa55f2bc514  test.gguf:tensor_9  -  Ok
xxh64     5a54d3aad816f302  test.gguf  -  Ok
sha1      d15be52c4ff213e823cb6dd13af7ee2f978e7042  test.gguf  -  Ok
sha256    7dd641b32f59b60dbd4b5420c4b0f6321ccf48f58f6ae201a3dbc4a58a27c6e4  test.gguf  -  Ok

Verification results for test.gguf.manifest - Success

Copy link
Owner

@ggerganov ggerganov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels a bit of an overkill to add so many hashes. I would have probably used something like th64 instead.

As long as the hashing logic does not become a core component of the library (i.e. hashes should not be needed for normal operation), it's ok to live in the examples. At least until we see a clear benefit in the future. If build issues arise with this code, they will be treated with low-priority and potentially disabled until resolved

examples/gguf-hash/gguf-hash.cpp Outdated Show resolved Hide resolved
gguf-py/scripts/gguf-hash.py Outdated Show resolved Hide resolved
@mofosyne
Copy link
Collaborator Author

mofosyne commented Jul 7, 2024

Feels a bit of an overkill to add so many hashes. I would have probably used something like th64 instead.

Yeah it's a bit overkill. It's because I wanted to add sha1 so I can add in uuid (and have a way to cross check my logic)... then I realized it's also useful for CI/CD with the xxhash... and then might as well add in sha256. Basically scope creeping. Well at least it's now done...

Thanks for the link https://github.com/tidwall/th64 looks interesting, but doesn't seem too much different to other hashes according to author of SMHasher3 in https://news.ycombinator.com/item?id=40877460.

I see nothing wrong with it if it passes SMHasher3, but it's also not radically different than other hashes - it's just smooshed down into four lines.

At least xxhash seems to be much more well used and battle tested in multiple projects and thus can be better relied upon (plus there is the xxh64sum in linux package manager which makes it easier to validate too).


As long as the hashing logic does not become a core component of the library (i.e. hashes should not be needed for normal operation), it's ok to live in the examples. At least until we see a clear benefit in the future. If build issues arise with this code, they will be treated with low-priority and potentially disabled until resolved

That I agree. I wasn't too sure on how useful it would be so hence example. But if it ends up becoming core part of CI/CD then definitely consider relocating it. Yes just disable it if it causes problem. It's not a super complicated program, so I don't see it breaking too much.


Anyway got your two suggestions in so will merge when all checks passed thanks

@mofosyne mofosyne added the merge ready indicates that this may be ready to merge soon and is just holding out in case of objections label Jul 7, 2024
@mofosyne mofosyne merged commit f7cab35 into ggerganov:master Jul 7, 2024
53 checks passed
@mofosyne mofosyne deleted the gguf-hash branch July 7, 2024 12:58
arthw pushed a commit to arthw/llama.cpp that referenced this pull request Jul 13, 2024
…gerganov#8048)

CLI to hash GGUF files to detect difference on a per model and per tensor level

The hash type we support is:

- `--xxh64`: use xhash 64bit hash mode (default)
- `--sha1`: use sha1
- `--uuid`: use uuid
- `--sha256`: use sha256

While most POSIX systems already have hash checking programs like sha256sum, it
is designed to check entire files. This is not ideal for our purpose if we want
to check for consistency of the tensor data even if the metadata content of the
gguf KV store has been updated.

This program is designed to hash a gguf tensor payload on a 'per tensor layer'
in addition to a 'entire tensor model' hash. The intent is that the entire
tensor layer can be checked first but if there is any detected inconsistencies,
then the per tensor hash can be used to narrow down the specific tensor layer
that has inconsistencies.

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
arthw pushed a commit to arthw/llama.cpp that referenced this pull request Jul 13, 2024
…gerganov#8048)

CLI to hash GGUF files to detect difference on a per model and per tensor level

The hash type we support is:

- `--xxh64`: use xhash 64bit hash mode (default)
- `--sha1`: use sha1
- `--uuid`: use uuid
- `--sha256`: use sha256

While most POSIX systems already have hash checking programs like sha256sum, it
is designed to check entire files. This is not ideal for our purpose if we want
to check for consistency of the tensor data even if the metadata content of the
gguf KV store has been updated.

This program is designed to hash a gguf tensor payload on a 'per tensor layer'
in addition to a 'entire tensor model' hash. The intent is that the entire
tensor layer can be checked first but if there is any detected inconsistencies,
then the per tensor hash can be used to narrow down the specific tensor layer
that has inconsistencies.

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devops improvements to build systems and github actions examples merge ready indicates that this may be ready to merge soon and is just holding out in case of objections python python script changes Review Complexity : Low Trivial changes to code that most beginner devs (or those who want a break) can tackle. e.g. UI fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants