{"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/meddr-diagnosis-guided-bootstrapping-for","title":"GSCo: Towards Generalizable AI in Medicine via Generalist-Specialist Collaboration","arxiv_id":"2404.15127","date":"2024-04-23","proceeding":null,"authors":["Sunan He","Yuxiang Nie","Hongmei Wang","Shu Yang","Yihui Wang","Zhiyuan Cai","Zhixuan Chen","Yingxue Xu","Luyang Luo","Huiling Xiang","Xi Lin","Mingxiang Wu","Yifan Peng","George Shih","Ziyang Xu","Xian Wu","Qiong Wang","Ronald Cheong Kin Chan","Varut Vardhanabhuti","Winnie Chiu Wing Chu","Yefeng Zheng","Pranav Rajpurkar","Kang Zhang","Hao Chen"],"abstract":"Generalist foundation models (GFMs) are renowned for their exceptional capability and flexibility in effectively generalizing across diverse tasks and modalities. In the field of medicine, while GFMs exhibit superior generalizability based on their extensive intrinsic knowledge as well as proficiency in instruction following and in-context learning, specialist models excel in precision due to their domain knowledge. In this work, for the first time, we explore the synergy between the GFM and specialist models, to enable precise medical image analysis on a broader scope. Specifically, we propose a cooperative framework, Generalist-Specialist Collaboration (GSCo), which consists of two stages, namely the construction of GFM and specialists, and collaborative inference on downstream tasks. In the construction stage, we develop MedDr, the largest open-source GFM tailored for medicine, showcasing exceptional instruction-following and in-context learning capabilities. Meanwhile, a series of lightweight specialists are crafted for downstream tasks with low computational cost. In the collaborative inference stage, we introduce two cooperative mechanisms, Mixture-of-Expert Diagnosis and Retrieval-Augmented Diagnosis, to harvest the generalist's in-context learning abilities alongside the specialists' domain expertise. For a comprehensive evaluation, we curate a large-scale benchmark featuring 28 datasets and about 250,000 images. Extensive results demonstrate that MedDr consistently outperforms state-of-the-art GFMs on downstream datasets. Furthermore, GSCo exceeds both GFMs and specialists across all out-of-domain disease diagnosis datasets. These findings indicate a significant paradigm shift in the application of GFMs, transitioning from separate models for specific tasks to a collaborative approach between GFMs and specialists, thereby advancing the frontiers of generalizable AI in medicine.","url_abs":"https://arxiv.org/abs/2404.15127v2","url_pdf":"https://arxiv.org/pdf/2404.15127v2.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":"meddr-diagnosis-guided-bootstrapping-for","repo_url":"https://github.com/sunanhe/meddr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"collaborative-inference","task_name":"Collaborative Inference"},{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"medical-diagnosis","task_name":"Medical Diagnosis"},{"task_slug":"medical-image-analysis","task_name":"Medical Image Analysis"},{"task_slug":"medical-report-generation","task_name":"Medical Report Generation"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"visual-question-answering-1","task_name":"Visual Question Answering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2404.15127","atlas_url":"https://app.syntology.ai/?focus=2404.15127","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.15127"}},"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/sunanhe/meddr","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"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":"3ddf5cec5e279143","entry":"build_transform","repo":"sunanhe/meddr","repo_kind":"official","path":"src/dataset/transforms.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/dataset/transforms.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3ddf5cec5e279143"}},{"code_sha256_prefix":"722750f3bafc8978","entry":"build_transform","repo":"sunanhe/meddr","repo_kind":"official","path":"src/train/dataset.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/train/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"722750f3bafc8978"}},{"code_sha256_prefix":"f239b832e3dff6ea","entry":"collate_fn","repo":"sunanhe/meddr","repo_kind":"official","path":"inference_meddr.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/inference_meddr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f239b832e3dff6ea"}},{"code_sha256_prefix":"592b3c1a88f93d7c","entry":"expand2square","repo":"sunanhe/meddr","repo_kind":"official","path":"src/dataset/transforms.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/dataset/transforms.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"592b3c1a88f93d7c"}},{"code_sha256_prefix":"001474ccd1834ca7","entry":"get_num_layer_for_vit_and_qllama","repo":"sunanhe/meddr","repo_kind":"official","path":"src/train/trainer_monkey_patch.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/train/trainer_monkey_patch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"001474ccd1834ca7"}},{"code_sha256_prefix":"67b54ec649e579c0","entry":"param_classification","repo":"sunanhe/meddr","repo_kind":"official","path":"src/train/trainer_monkey_patch.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/train/trainer_monkey_patch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"67b54ec649e579c0"}},{"code_sha256_prefix":"700e7b33548e7070","entry":"pil_loader","repo":"sunanhe/meddr","repo_kind":"official","path":"src/train/dataset.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/train/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"700e7b33548e7070"}},{"code_sha256_prefix":"bd0b36d66d5aba83","entry":"get_conv_template","repo":"sunanhe/meddr","repo_kind":"official","path":"src/utils/conversation.py","file_url":"https://github.com/sunanhe/meddr/blob/HEAD/src/utils/conversation.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":"bd0b36d66d5aba83"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}