{"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/cached-multi-lora-composition-for-multi","title":"Cached Multi-Lora Composition for Multi-Concept Image Generation","arxiv_id":"2502.04923","date":"2025-02-07","proceeding":null,"authors":["Xiandong Zou","Mingzhu Shen","Christos-Savvas Bouganis","Yiren Zhao"],"abstract":"Low-Rank Adaptation (LoRA) has emerged as a widely adopted technique in text-to-image models, enabling precise rendering of multiple distinct elements, such as characters and styles, in multi-concept image generation. However, current approaches face significant challenges when composing these LoRAs for multi-concept image generation, resulting in diminished generated image quality. In this paper, we initially investigate the role of LoRAs in the denoising process through the lens of the Fourier frequency domain. Based on the hypothesis that applying multiple LoRAs could lead to \"semantic conflicts\", we find that certain LoRAs amplify high-frequency features such as edges and textures, whereas others mainly focus on low-frequency elements, including the overall structure and smooth color gradients. Building on these insights, we devise a frequency domain based sequencing strategy to determine the optimal order in which LoRAs should be integrated during inference. This strategy offers a methodical and generalizable solution compared to the naive integration commonly found in existing LoRA fusion techniques. To fully leverage our proposed LoRA order sequence determination method in multi-LoRA composition tasks, we introduce a novel, training-free framework, Cached Multi-LoRA (CMLoRA), designed to efficiently integrate multiple LoRAs while maintaining cohesive image generation. With its flexible backbone for multi-LoRA fusion and a non-uniform caching strategy tailored to individual LoRAs, CMLoRA has the potential to reduce semantic conflicts in LoRA composition and improve computational efficiency. Our experimental evaluations demonstrate that CMLoRA outperforms state-of-the-art training-free LoRA fusion methods by a significant margin -- it achieves an average improvement of $2.19\\%$ in CLIPScore, and $11.25\\%$ in MLLM win rate compared to LoraHub, LoRA Composite, and LoRA Switch.","url_abs":"https://arxiv.org/abs/2502.04923v1","url_pdf":"https://arxiv.org/pdf/2502.04923v1.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":"cached-multi-lora-composition-for-multi","repo_url":"https://github.com/Yqcca/CMLoRA","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2502.04923","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2502.04923"}},"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/Yqcca/CMLoRA","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"42cf9a8a1c4b5928","entry":"check_anime_lora","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"callbacks_sa.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/callbacks_sa.py","link_basis":"harvester_set","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":"42cf9a8a1c4b5928"}},{"code_sha256_prefix":"0a2b3d1a3d90d6ca","entry":"generate_combinations","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/utils.py","link_basis":"harvester_set","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":"0a2b3d1a3d90d6ca"}},{"code_sha256_prefix":"bb2bba270e29d9ee","entry":"get_prompt","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/utils.py","link_basis":"harvester_set","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":"bb2bba270e29d9ee"}},{"code_sha256_prefix":"f9e923f1e4381bde","entry":"load_lora_info","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"utils.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/utils.py","link_basis":"harvester_set","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":"f9e923f1e4381bde"}},{"code_sha256_prefix":"c33c51d0f98b102b","entry":"make_callback","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"callbacks_origin.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/callbacks_origin.py","link_basis":"harvester_set","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":"c33c51d0f98b102b"}},{"code_sha256_prefix":"ce82eb832ab4ebd7","entry":"make_callback","repo":"Yqcca/CMLoRA","repo_kind":"official","path":"callbacks_sa.py","file_url":"https://github.com/Yqcca/CMLoRA/blob/HEAD/callbacks_sa.py","link_basis":"harvester_set","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":"ce82eb832ab4ebd7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}