LLaMA-Mesh / README.md
xiaohui2022's picture
Update README.md
c30f7e6 verified
|
raw
history blame
6.34 kB
metadata
license: llama3.1
library_name: transformers
pipeline_tag: text-generation
tags:
  - mesh-generation

LLaMA-Mesh: Unifying 3D Mesh Generation with Language Models

Paper | Project Page

Pre-trained model weights of LLaMA-Mesh: Unifying 3D Mesh Generation with Language Models

Zhengyi Wang, Jonathan Lorraine, Yikai Wang, Hang Su, Jun Zhu, Sanja Fidler, Xiaohui Zeng

Abstract: This work explores expanding the capabilities of large language models (LLMs) pretrained on text to generate 3D meshes within a unified model. This offers key advantages of (1) leveraging spatial knowledge already embedded in LLMs, derived from textual sources like 3D tutorials, and (2) enabling conversational 3D generation and mesh understanding. A primary challenge is effectively tokenizing 3D mesh data into discrete tokens that LLMs can process seamlessly. To address this, we introduce LLaMA-Mesh, a novel approach that represents the vertex coordinates and face definitions of 3D meshes as plain text, allowing direct integration with LLMs without expanding the vocabulary. We construct a supervised fine-tuning (SFT) dataset enabling pretrained LLMs to (1) generate 3D meshes from text prompts, (2) produce interleaved text and 3D mesh outputs as required, and (3) understand and interpret 3D meshes. Our work is the first to demonstrate that LLMs can be fine-tuned to acquire complex spatial knowledge for 3D mesh generation in a text-based format, effectively unifying the 3D and text modalities. LLaMA-Mesh achieves mesh generation quality on par with models trained from scratch while maintaining strong text generation performance.

Method

Overview of our method. LLaMA-Mesh unifies text and 3D mesh in a uniform format by representing the numerical values of vertex coordinates and face definitions of a 3D mesh as plain text. Our model is trained using text and 3D interleaved data in an end-to-end manner. Therefore, our model can generate both text and 3D meshes in a unified model.

image/jpeg

Model Developer: Base model weight is from Meta. Finetuned by Nvidia

Third-Party Community Consideration:

This model is not owned or developed by NVIDIA. This model has been developed and built to a third-party’s requirements for this application and use case; see link to Non-NVIDIA Llama 3.1 Model Card.

License/Terms of Use:

This model, Llama-Mesh, is distributed under the following licenses:

  1. NSCLv1 License The Llama-Mesh model is licensed under the NSCLv1 license, which allows non-commercial use only. For details, please refer to the LICENSE.txt file.
  2. Llama 3.1 Community License Agreement This model incorporates components of Llama 3.1 technology, which is licensed under the Llama 3.1 Community License Agreement. Redistribution and use of Llama 3.1 materials must comply with the terms of this agreement. See the LLAMA_LICENSE.txt file for full details.

Attribution

This model is built with Llama 3.1 technology, as required by the Llama 3.1 Community License Agreement. The required attribution is: "Built with Llama".

Reference(s):

Llama 3.1 Github

Model Architecture:

Architecture Type: Transformer Network Architecture: Llama 3.1

Input:

Input Type(s): Text

Input Format(s): String

Input Parameters: 1D

Other Properties Related to Input: Max token length 8k

Output:

Output Type(s): Text

Output Format: String

Output Parameters: 1D

Other Properties Related to Output: Max token length 8k

Supported Hardware Microarchitecture Compatibility:

  • NVIDIA Ada

Supported Operating System(s):

  • Linux

Model Version(s):

Llama 3.1 8B mesh

Training Dataset:

Please refer to Llama 3.1 Model Card for information on Training, Testing, and Evaluation Datasets).

The data is curated through converting Objaverse mesh data into text string (in the format as vertex index, face index as string). The model is finetuned on the curated dataset with 32 GPU.

Objaverse

Data Collection Method by dataset: Unknown

Labeling Method by dataset: Unknown

Properties: We use 30k mesh data, which is a subset from the Objaverse. We filter the Objaverse dataset by the number of faces, and only keep the shape with the number of faces less than 500. They are saved as obj file format.

Dataset License(s): The use of the dataset as a whole is licensed under the ODC-By v1.0 license.

Inference:

Engine: Pytorch

Test Hardware: A100

Ethical Considerations:

NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.

Please report security vulnerabilities or NVIDIA AI Concerns here.

BibTeX

@misc{wang2024llamameshunifying3dmesh,
    title={LLaMA-Mesh: Unifying 3D Mesh Generation with Language Models}, 
    author={Zhengyi Wang and Jonathan Lorraine and Yikai Wang and Hang Su and Jun Zhu and Sanja Fidler and Xiaohui Zeng},
    year={2024},
    eprint={2411.09595},
    archivePrefix={arXiv},
    primaryClass={cs.LG},
    url={https://arxiv.org/abs/2411.09595}, 
}