Roman Bachmann, Teresa Yeo, Amir Zamir, David Mizrahi, Oguzhan Fatih Kar, Mingfei Gao, Afshin Dehghan
We lifted 14 functions out of this paper's own repositories and ran 11 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| apple/ml-4m | canonical | 11 of 14 |
| Function | Status | Where it lives |
|---|---|---|
| Attention | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("469d6eab97788ae3") |
| CrossAttention | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("92c05b09aa8b432d") |
| DropPath | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("0e191e0cd5b78fae") |
| GatedMlp | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("80a8c68c90e49910") |
| LayerNorm | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("aa04da21f78ede23") |
| Mlp | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("fb956c775e434a63") |
| NormAttention | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("8e46b7a14afdc415") |
| NormCrossAttention | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("be370600261ed57e") |
| drop_path | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("e60d6e23233f6f4b") |
| get_value | Ran | apple/ml-4m/fourm/demo_4M_sampler.py code served (permissive licence) · get_code("1c442a156b80c649") |
| softmax1 | Ran | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("3369db8cc5790d44") |
| Block | Not yet run | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("66f58c21558cf0b3") |
| DecoderBlock | Not yet run | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("61b6a9e0db1b82ed") |
| FourM | Not yet run | apple/ml-4m/fourm/models/fm.py code served (permissive licence) · get_code("f975543590a1bbd0") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Current machine learning models for vision are often highly specialized and limited to a single modality and task. In contrast, recent large language models exhibit a wide range of capabilities, hinting at a possibility for similarly versatile models in computer vision. In this paper, we take a step in this direction and propose a multimodal training scheme called 4M. It consists of training a single unified Transformer encoder-decoder using a masked modeling objective across a wide range of input/output modalities -including text, images, geometric, and semantic modalities, as well as neural network feature maps. 4M achieves scalability by unifying the representation space of all modalities through mapping them into discrete tokens and performing multimodal masked modeling on a small randomized subset of tokens. 4M leads to models that exhibit several key capabilities: (1) they can perform a diverse set of vision tasks out of the box, (2) they excel when fine-tuned for unseen downstream tasks or new input modalities, and (3) they can function as a generative model that can be conditioned on arbitrary modalities, enabling a wide variety of expressive multimodal editing capabilities with remarkable flexibility. Through experimental analyses, we demonstrate the potential of 4M for training versatile and scalable foundation models for vision tasks, setting the stage for further exploration in multimodal learning for vision and other domains. † For clarity, "modalities" usually denote the inputs to a model (e.g. sensory signals), and "tasks" usually denote the outputs (e.g. semantics). Our method enables a symmetric input-output structure, thus we use "modalities" and "tasks" interchangeably in this paper. * Equal contribution & corresponding authors. 37th Conference on Neural Information Processing Systems (NeurIPS 2023).
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2312.06647")
get_code_for_paper("2312.06647")
have("2312.06647")
Connect an agent — have() is free.