|
--- |
|
license: cc-by-4.0 |
|
--- |
|
|
|
# Mermaid-Llama-3-5B |
|
|
|
Introducing Mermaid-LLama-3-5B, a language model designed for Python code understanding and crafting captivating story flow maps. |
|
|
|
![MermaidLlama GIF](Mermaid_ShowCase/MermaidLlama.webp) |
|
|
|
## Key Features |
|
|
|
1. **Code Understanding:** |
|
- Masters Python intricacies with finesse. |
|
- Generates clear and accurate Mermaid Diagram Flow Charts. |
|
- Ideal for developers seeking visual representations of their code logic. |
|
|
|
2. **Storytelling Capabilities:** |
|
- Converts narrative inputs into captivating Mermaid Diagrams. |
|
- Maps character interactions, plot developments, and narrative arcs. |
|
|
|
3. **Unmatched Performance:** |
|
- Surpasses GPT-4 in generating well-organized Mermaid Diagrams. |
|
|
|
4. **Training Insights:** |
|
- Trained on a diverse dataset, including 800 unique, hand-curated Mermaid Graph examples utilizing 478 complete Python programs. |
|
- Exhibits emergent properties in story-to-flow map translations and step-by-step instruction flow maps. |
|
|
|
## Collaboration |
|
|
|
Interested in enhancing Mermaid's capabilities? Contact troydoesai@gmail.com for collaboration opportunities. |
|
|
|
## Example Use Cases |
|
- **Retrieval-Augmented Generation (RAG):** Utilize Mermaid-LLama-3-8B to create condensed knowledge graphs. This model excels in generating flow diagrams that enhance the retrieval process. These knowledge graphs are stored in a vector database, which allows for quick and efficient retrieval of contextually relevant information. When a query is received, the system retrieves a pertinent knowledge graph, appending it as context to the model. This enriched context enables Mermaid-LLama-3-8B to deliver more accurate and nuanced responses. This approach is particularly beneficial in applications requiring deep, context-aware interactions, such as sophisticated Q&A systems, dynamic data analysis, and complex decision-making tasks. |
|
- **Code Documentation:** Automatic visual flow charts from Python code. |
|
- **Storyboarding:** Visually appealing diagrams for storytelling. |
|
- **Project Planning:** Visual project flow maps for effective team communication. |
|
- **Learning Python:** Helps students visually understand Python code structures. |
|
- **Game Design:** Visualizing game storylines for coherent narrative structure. |
|
|
|
## Proof of Concept |
|
|
|
Stay tuned for the release of the VSCode Extension that displays the Live Flow Map every time a user stops typing for more than 10 seconds. |
|
|
|
## Training Specifications |
|
|
|
- **LoRA Rank:** 2048 |
|
- **LoRA Alpha:** 4096 |
|
- **Batch Size:** 1 |
|
- **Micro Batch Size:** 1 |
|
- **Cutoff Length:** 4096 |
|
- **Save every n steps:** 1000 |
|
- **Epochs:** 3 |
|
- **Learning Rate:** 1e-6 |
|
- **LR Scheduler:** Cosine |
|
|
|
**Target Modules:** |
|
- Enable q_proj |
|
- Enable v_proj |
|
- Enable k_proj |
|
- Enable o_proj |
|
- Enable gate_proj |
|
- Enable down_proj |
|
- Enable up_proj |
|
|
|
## Getting Started |
|
|
|
Start by downloading one of my models. |
|
|
|
![0 TroyDoesAI GIF](Mermaid_ShowCase/0_TroyDoesAI.gif) |
|
|
|
Load the model. |
|
|
|
![1 Load Model in 4-bit Show Example Use GIF](Mermaid_ShowCase/1_LoadModel_in_4bit_Show_Example_Use.gif) |
|
|
|
Use my prompt template to generate a Mermaid code block, which can be viewed in the Mermaid Live Editor or using the Mermaid CLI tool. |
|
|
|
![2 Loaded Model in Full Precision 16-bit Show Inference and Mermaid Live Editor GIF](Mermaid_ShowCase/2_Loaded_Model_in_Full_Precision_16bit_Show_Inference_and_Mermaid_Live_editor.gif) |
|
|
|
Here we open the VLLM GUI Program while still running in Vram the Mermaid-Llama-8B to compare the flow diagram to the actual program and show the lightweight capabilites of small models on consumer hardware. |
|
|
|
![3 Open The Program VLLM Program With Full Precision Mermaid-Llama-8B Running to Evaluate Flow Map GIF](Mermaid_ShowCase/3_Open_The_Program_VLLM_Program_With_Full_Precision_Mermaid-Llama-8B-Running_to_evaluate_flow_map.gif) |
|
|
|
## More on my VLLM Class and inference GUI : https://github.com/Troys-Code/VLLM |
|
|
|
![Python RtdBsaz8gy GIF](Mermaid_ShowCase/python_RtdBsaz8gy.gif) |
|
--- |
|
|
|
Note: This model should be treated as an Auto-Complete Model, Do not try talking to it in chat you are gonna get garbage, those layers have been pruned and replaced, that is all you will hear of my secret sauce on training on small < 1000 entry datasets. |