{"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/disco-distilled-student-models-co-training","title":"DisCo: Distilled Student Models Co-training for Semi-supervised Text Mining","arxiv_id":"2305.12074","date":"2023-05-20","proceeding":null,"authors":["Weifeng Jiang","Qianren Mao","Chenghua Lin","JianXin Li","Ting Deng","Weiyi Yang","Zheng Wang"],"abstract":"Many text mining models are constructed by fine-tuning a large deep pre-trained language model (PLM) in downstream tasks. However, a significant challenge nowadays is maintaining performance when we use a lightweight model with limited labelled samples. We present DisCo, a semi-supervised learning (SSL) framework for fine-tuning a cohort of small student models generated from a large PLM using knowledge distillation. Our key insight is to share complementary knowledge among distilled student cohorts to promote their SSL effectiveness. DisCo employs a novel co-training technique to optimize a cohort of multiple small student models by promoting knowledge sharing among students under diversified views: model views produced by different distillation strategies and data views produced by various input augmentations. We evaluate DisCo on both semi-supervised text classification and extractive summarization tasks. Experimental results show that DisCo can produce student models that are 7.6 times smaller and 4.8 times faster in inference than the baseline PLMs while maintaining comparable performance. We also show that DisCo-generated student models outperform the similar-sized models elaborately tuned in distinct tasks.","url_abs":"https://arxiv.org/abs/2305.12074v3","url_pdf":"https://arxiv.org/pdf/2305.12074v3.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":"disco-distilled-student-models-co-training","repo_url":"https://github.com/litesslhub/disco","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"disco-distilled-student-models-co-training","repo_url":"https://github.com/opensum/bigae","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"extractive-summarization","task_name":"Extractive Summarization"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"semi-supervised-text-classification-1","task_name":"Semi-Supervised Text Classification"},{"task_slug":"text-classification","task_name":"Text Classification"},{"task_slug":"text-classification-1","task_name":"text-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2305.12074","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.12074"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/opensum/bigae","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/litesslhub/disco","reach":null}],"summary":{"ran":5,"unverified":12},"by_repo_kind":{"official":{"samples":14,"ran":3,"repositories":1},"listed":{"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":17,"samples":[{"code_sha256_prefix":"954a1d17fbc63ebc","entry":"BertIntermediate","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"954a1d17fbc63ebc"}},{"code_sha256_prefix":"578d4f3276e30323","entry":"BertSelfAttention","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"578d4f3276e30323"}},{"code_sha256_prefix":"4483a226d3360595","entry":"GAE","repo":"opensum/bigae","repo_kind":"listed","path":"pretraining/src_gae/gae.py","file_url":"https://github.com/opensum/bigae/blob/HEAD/pretraining/src_gae/gae.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4483a226d3360595"}},{"code_sha256_prefix":"6750341527074ffa","entry":"GlueTaskHead","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6750341527074ffa"}},{"code_sha256_prefix":"702e2d591a1ab941","entry":"InnerProductDecoder","repo":"opensum/bigae","repo_kind":"listed","path":"pretraining/src_gae/gae.py","file_url":"https://github.com/opensum/bigae/blob/HEAD/pretraining/src_gae/gae.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"702e2d591a1ab941"}},{"code_sha256_prefix":"75f948e42835b3e7","entry":"BaseModelOutput","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"75f948e42835b3e7"}},{"code_sha256_prefix":"46e5a377bdd96a41","entry":"BertAttention","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"46e5a377bdd96a41"}},{"code_sha256_prefix":"8a0ead5ea99529e1","entry":"BertConfig","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a0ead5ea99529e1"}},{"code_sha256_prefix":"03e9b234d335c704","entry":"BertEmbeddings","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"03e9b234d335c704"}},{"code_sha256_prefix":"35992cbf0288d2de","entry":"BertEncoder","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"35992cbf0288d2de"}},{"code_sha256_prefix":"dc2490b06a84b6a0","entry":"BertLayer","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc2490b06a84b6a0"}},{"code_sha256_prefix":"45e31ada063af6a3","entry":"BertModel","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"45e31ada063af6a3"}},{"code_sha256_prefix":"cfb69ead0a67f2fe","entry":"BertPreTrainedModel","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cfb69ead0a67f2fe"}},{"code_sha256_prefix":"88ac7a0356a925e3","entry":"ConsistSum","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88ac7a0356a925e3"}},{"code_sha256_prefix":"d804faa799c3e70c","entry":"ExtractiveSummaryHead","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d804faa799c3e70c"}},{"code_sha256_prefix":"b85ad8565d2456f6","entry":"get_model","repo":"litesslhub/disco","repo_kind":"official","path":"src/model.py","file_url":"https://github.com/litesslhub/disco/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b85ad8565d2456f6"}},{"code_sha256_prefix":"440e5dffb0327ed4","entry":"reset","repo":"opensum/bigae","repo_kind":"listed","path":"pretraining/src_gae/gae.py","file_url":"https://github.com/opensum/bigae/blob/HEAD/pretraining/src_gae/gae.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"440e5dffb0327ed4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}