{"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/towards-unified-multi-modal-personalization","title":"Towards Unified Multi-Modal Personalization: Large Vision-Language Models for Generative Recommendation and Beyond","arxiv_id":"2403.10667","date":"2024-03-15","proceeding":null,"authors":["Tianxin Wei","Bowen Jin","Ruirui Li","Hansi Zeng","Zhengyang Wang","Jianhui Sun","Qingyu Yin","Hanqing Lu","Suhang Wang","Jingrui He","Xianfeng Tang"],"abstract":"Developing a universal model that can effectively harness heterogeneous resources and respond to a wide range of personalized needs has been a longstanding community aspiration. Our daily choices, especially in domains like fashion and retail, are substantially shaped by multi-modal data, such as pictures and textual descriptions. These modalities not only offer intuitive guidance but also cater to personalized user preferences. However, the predominant personalization approaches mainly focus on the ID or text-based recommendation problem, failing to comprehend the information spanning various tasks or modalities. In this paper, our goal is to establish a Unified paradigm for Multi-modal Personalization systems (UniMP), which effectively leverages multi-modal data while eliminating the complexities associated with task- and modality-specific customization. We argue that the advancements in foundational generative modeling have provided the flexibility and effectiveness necessary to achieve the objective. In light of this, we develop a generic and extensible personalization generative framework, that can handle a wide range of personalized needs including item recommendation, product search, preference prediction, explanation generation, and further user-guided image generation. Our methodology enhances the capabilities of foundational language models for personalized tasks by seamlessly ingesting interleaved cross-modal user history information, ensuring a more precise and customized experience for users. To train and evaluate the proposed multi-modal personalized tasks, we also introduce a novel and comprehensive benchmark covering a variety of user requirements. Our experiments on the real-world benchmark showcase the model's potential, outperforming competitive methods specialized for each task.","url_abs":"https://arxiv.org/abs/2403.10667v2","url_pdf":"https://arxiv.org/pdf/2403.10667v2.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":"towards-unified-multi-modal-personalization","repo_url":"https://github.com/weitianxin/UniMP","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"explanation-generation","task_name":"Explanation Generation"},{"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=2403.10667","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.10667"}},"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/weitianxin/UniMP","reach":{"status":"ok"}}],"summary":{"ran_fixture":1,"ran":6,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":9,"ran":8,"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":9,"samples":[{"code_sha256_prefix":"f725bc2d76076485","entry":"apply_rotary_pos_emb","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/xformers_model/llama.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/xformers_model/llama.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f725bc2d76076485"}},{"code_sha256_prefix":"ec8c233fb6abbe44","entry":"compute_classification_accuracy","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/classification.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/classification.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":"ec8c233fb6abbe44"}},{"code_sha256_prefix":"4fbef42363d6fcd6","entry":"compute_shifted_logits_and_labels","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/classification.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/classification.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":"4fbef42363d6fcd6"}},{"code_sha256_prefix":"e1ef1e3160bff234","entry":"get_formatted_prompt","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/benchmark_otter.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/benchmark_otter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1ef1e3160bff234"}},{"code_sha256_prefix":"8b8566f333cb4974","entry":"get_response","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/benchmark_otter.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/benchmark_otter.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":"8b8566f333cb4974"}},{"code_sha256_prefix":"fc91265a186bcbd4","entry":"postprocess_captioning_generation","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/coco_metric.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/coco_metric.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fc91265a186bcbd4"}},{"code_sha256_prefix":"a666b1cfb752e8e7","entry":"postprocess_classification_generation","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/classification.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/classification.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a666b1cfb752e8e7"}},{"code_sha256_prefix":"b99eea6376d1e212","entry":"rotate_half","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/xformers_model/llama.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/xformers_model/llama.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b99eea6376d1e212"}},{"code_sha256_prefix":"3217afe4fa565c58","entry":"get_image","repo":"weitianxin/UniMP","repo_kind":"official","path":"UniMP/pipeline/eval/benchmark_otter.py","file_url":"https://github.com/weitianxin/UniMP/blob/HEAD/UniMP/pipeline/eval/benchmark_otter.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":"3217afe4fa565c58"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}