{"id":41729,"date":"2026-07-11T11:27:32","date_gmt":"2026-07-11T09:27:32","guid":{"rendered":"https:\/\/www.graviton.at\/letterswaplibrary\/building-a-data-centric-pipeline-for-sft-kto-datasets-targeting-small-llms-case-study-liara\/"},"modified":"2026-07-11T11:27:32","modified_gmt":"2026-07-11T09:27:32","slug":"building-a-data-centric-pipeline-for-sft-kto-datasets-targeting-small-llms-case-study-liara","status":"publish","type":"post","link":"https:\/\/www.graviton.at\/letterswaplibrary\/building-a-data-centric-pipeline-for-sft-kto-datasets-targeting-small-llms-case-study-liara\/","title":{"rendered":"Building A Data-centric Pipeline For SFT\/KTO Datasets Targeting Small LLMs (case Study: Liara)"},"content":{"rendered":"<p><!-- SC_OFF --><\/p>\n<div class=\"md\">\n<p>Hi everyone,<\/p>\n<p>I&#8217;ve been working on a data-centric pipeline for constructing SFT and KTO datasets for small language models, targeting models ranging from a 1.58B ternary model up to 12B parameters (with a particular focus on the 1.5B\u20134B range), using an Italian tool-calling assistant (&#8220;Liara&#8221;) as a case study.<\/p>\n<p>Instead of focusing on model architecture, the goal is to reduce common failure modes through dataset construction itself:<\/p>\n<ul>\n<li>tool over-calling<\/li>\n<li>style collapse<\/li>\n<li>excessive verbosity<\/li>\n<li>semantic redundancy<\/li>\n<li>memory inconsistencies<\/li>\n<\/ul>\n<p>The pipeline currently includes:<\/p>\n<ul>\n<li>typed validation outcomes (PASS \/ Soft Reject \/ Hard Reject \/ Warning)<\/li>\n<li>semantic + structural deduplication<\/li>\n<li>multi-teacher generation<\/li>\n<li>dataset lineage and versioning<\/li>\n<li>regression set<\/li>\n<li>dataset health dashboard<\/li>\n<li>capability-based dataset profiling for different model sizes<\/li>\n<li>typed routing into SFT, KTO-negative, or discard<\/li>\n<li>Soft Reject examples are not discarded by default: they undergo additional validation and, if confirmed, are reused as KTO-negative examples rather than being treated as unusable data.<\/li>\n<\/ul>\n<p>The current specification describes the methodology. The implementation is underway, and the experimental validation is currently running.<\/p>\n<p>I&#8217;d love feedback from people who have built or maintained instruction datasets:<\/p>\n<ul>\n<li>Which parts seem genuinely useful?<\/li>\n<li>Which ideas already exist in other pipelines?<\/li>\n<li>What ablation studies would you expect before considering this publishable?<\/li>\n<\/ul>\n<p>I&#8217;m currently generating the gold seed dataset, which is the most time-consuming part of the pipeline and is expected to take around 10 days at the planned scale. Once that&#8217;s complete, I&#8217;ll publish the implementation, the ablation results, and the evaluation so the methodology can be assessed based on experimental evidence rather than design alone.<\/p>\n<p>In the meantime, I&#8217;d really appreciate any feedback or suggestions on the pipeline itself.<\/p>\n<\/div>\n<p><!-- SC_ON -->   submitted by   <a href=\"https:\/\/www.reddit.com\/user\/Key-Outcome-2927\"> \/u\/Key-Outcome-2927 <\/a> <br \/> <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1utfe3b\/building_a_datacentric_pipeline_for_sftkto\/\">[link]<\/a><\/span>   <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1utfe3b\/building_a_datacentric_pipeline_for_sftkto\/\">[comments]<\/a><\/span><\/p><div class='watch-action'><div class='watch-position align-right'><div class='action-like'><a class='lbg-style1 like-41729 jlk' href='javascript:void(0)' data-task='like' data-post_id='41729' data-nonce='9de69db8d5' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.graviton.at\/letterswaplibrary\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-41729 lc'>0<\/span><\/a><\/div><\/div> <div class='status-41729 status align-right'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Hi everyone, I&#8217;ve been working on a data-centric pipeline for constructing SFT and KTO datasets for small&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[],"class_list":["post-41729","post","type-post","status-publish","format-standard","hentry","category-datatards","wpcat-85-id"],"_links":{"self":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/41729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/comments?post=41729"}],"version-history":[{"count":0,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/41729\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/media?parent=41729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/categories?post=41729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/tags?post=41729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}