{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/a-head-to-predict-and-a-head-to-question-pre","title":"A Head to Predict and a Head to Question: Pre-trained Uncertainty Quantification Heads for Hallucination Detection in LLM Outputs","arxiv_id":"2505.08200","date":"2025-05-13","proceeding":null,"authors":["Artem Shelmanov","Ekaterina Fadeeva","Akim Tsvigun","Ivan Tsvigun","Zhuohan Xie","Igor Kiselev","Nico Daheim","Caiqi Zhang","Artem Vazhentsev","Mrinmaya Sachan","Preslav Nakov","Timothy Baldwin"],"abstract":"Large Language Models (LLMs) have the tendency to hallucinate, i.e., to sporadically generate false or fabricated information. This presents a major challenge, as hallucinations often appear highly convincing and users generally lack the tools to detect them. Uncertainty quantification (UQ) provides a framework for assessing the reliability of model outputs, aiding in the identification of potential hallucinations. In this work, we introduce pre-trained UQ heads: supervised auxiliary modules for LLMs that substantially enhance their ability to capture uncertainty compared to unsupervised UQ methods. Their strong performance stems from the powerful Transformer architecture in their design and informative features derived from LLM attention maps. Experimental evaluation shows that these heads are highly robust and achieve state-of-the-art performance in claim-level hallucination detection across both in-domain and out-of-domain prompts. Moreover, these modules demonstrate strong generalization to languages they were not explicitly trained on. We pre-train a collection of UQ heads for popular LLM series, including Mistral, Llama, and Gemma 2. We publicly release both the code and the pre-trained heads.","url_abs":"https://arxiv.org/abs/2505.08200v1","url_pdf":"https://arxiv.org/pdf/2505.08200v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"a-head-to-predict-and-a-head-to-question-pre","repo_url":"https://github.com/iinemo/llm-uncertainty-head","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"hallucination","task_name":"Hallucination"},{"task_slug":"uncertainty-quantification","task_name":"Uncertainty Quantification"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2505.08200","atlas_url":"https://app.syntology.ai/?focus=2505.08200","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.08200"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/iinemo/llm-uncertainty-head","reach":null}],"summary":{"ran":2,"unverified":1},"by_repo_kind":{"named_in_paper":{"samples":3,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"237735deb556a168","entry":"UncertaintyHead","repo":"iinemo/llm-uncertainty-head","repo_kind":"named_in_paper","path":"luh/heads/uncertainty_head.py","file_url":"https://github.com/iinemo/llm-uncertainty-head/blob/HEAD/luh/heads/uncertainty_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"237735deb556a168"}},{"code_sha256_prefix":"bf58fbf697ae90f5","entry":"UncertaintyHeadBase","repo":"iinemo/llm-uncertainty-head","repo_kind":"named_in_paper","path":"luh/heads/uncertainty_head.py","file_url":"https://github.com/iinemo/llm-uncertainty-head/blob/HEAD/luh/heads/uncertainty_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bf58fbf697ae90f5"}},{"code_sha256_prefix":"09f7b1a2fe98ce5d","entry":"load_feature_extractor","repo":"iinemo/llm-uncertainty-head","repo_kind":"named_in_paper","path":"luh/heads/uncertainty_head.py","file_url":"https://github.com/iinemo/llm-uncertainty-head/blob/HEAD/luh/heads/uncertainty_head.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"09f7b1a2fe98ce5d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}