Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

11.1. Release Notes

Java Unified Neural Orchestration: is a pure-Java distributed LLM inference/fine-tuning engine: GGUF loading, pipeline/tensor parallel across JVM nodes via gRPC, CUDA/ROCm acceleration through the Panama FFI (java.lang.foreign), LoRA training built in, and an OpenAI-compatible REST API via Javalin. Requires JDK 25+, Maven 3.9+.

License: Apache 2.0


Release 0.1.1 — LoRA on GPU, finally fast

This is the LoRA release: real GPU training, multi-arch adapters, a rebuilt docs site, AI disclosure on outputs, and Windows parity for API / play / merge.

/train-qa — measured on TinyLlama

Command (both releases):

GPU execution:

./juno lora --model-path models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf

CPU execution:

./juno lora --model-path models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf --cpu

Prompt: /train-qa What is my name? A: Juno

0.1.1 CUDA0.1.1 CPU0.1.0 CUDA0.1.0 CPU
Passes to target12123131
Train loss0.950.951.151.15
Time per pass2.5 s47.6 s~47 s~82 s
Total30 s571 s1455 s2554 s

Startup in 0.1.1 makes the path explicit: Training on CUDA (auto-selected) · microbatch size 8 (or CPU with a clear warning when --cpu is set).

What else shipped


Release 0.1.0 Highlights

Distributed inference

GPU acceleration

LoRA fine-tuning

OpenAI-compatible REST

JVM integration

Observability


Requirements

ComponentVersion
JDK25+
Maven (build from source)3.9+
NVIDIA GPU (optional)CUDA 12.x + driver
AMD GPU (optional)ROCm 6+ + driver

CPU-only inference requires no GPU stack. The ./juno launcher enforces JDK 25 at startup.


Supported models

GGUF with LLaMA-compatible architectures.

Quantizations: F32, F16, BF16, Q8_0, Q4_0, Q2_K, Q3_K, Q4_K, Q5_K, Q6_K.

Chat templates: llama3, mistral, gemma, tinyllama/zephyr, chatml, phi3. phi3 (Phi-3 / Phi-3.5) is supported via a dedicated handler and template. Gemma, Qwen 2, Qwen3, and Qwen3.5 (gemma, qwen2, qwen3, qwen3moe, qwen35) are under development: template and handler groundwork exists for some paths; end-to-end validation is in progress. Limitations for work in flight: no LoRA on Gemma/Qwen, no thinking-mode template, no fused QKV GGUFs on Qwen.


Quick start

mvn clean package -DskipTests

# Download a GGUF, then:
./juno local --model-path models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf

# With OpenAI-compatible API:
./juno local --model-path models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf --api-port 8080

Full reference: docs/index.md


Known limitations (0.1.0)


Documentation map

DocumentPurpose
README.mdOverview and entry points
docs/index.mdFull documentation table of contents
Architecture overviewInternal architecture
README.mdFeature summary
LoRA conceptsLoRA training and merge
Performance methodologyBenchmark methodology
Legal and complianceModel weights and merge Q&A
SECURITY.mdVulnerability reporting
api/src/main/resources/juno-api.yamlOpenAPI spec

Developer session history: Changelog


Upgrade / migration

This is the first public release. No prior version migration path.

Artifacts publish under cab.ml at version 0.1.0 on Maven Central. Import the BOM:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>cab.ml</groupId>
      <artifactId>juno-bom</artifactId>
      <version>0.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<- 10.6 Contributors  |  Table of Contents  |  11.2 Changelog ->