NanoGPT with Optimal Control
2025Project Overview
Research project exploring the application of optimal control theory to train transformer-based language models, comparing Python and Julia implementations.
Technical Details
- Python (PyTorch) & Julia (Flux.jl)
- Transformer architecture
- Optimal control theory
- Pontryagin Maximum Principle
Key Achievements
- Implemented NanoGPT from scratch in both Python and Julia
- Developed mathematical framework for optimal control of ResNets
- Compared performance metrics (BLEU score: Python 12% vs Julia 2.9%)
- Published research report with detailed analysis
E7 et Mat - Chess Game
2023Project Overview
A fully-featured chess application with multiple game modes, AI opponents, and extensive customization options developed as a team project in Java.
Technical Details
- Java (Swing for GUI)
- Object-oriented design
- Game state management
- AI with multiple difficulty levels
Key Features
- Multiplayer mode (local same-screen play)
- AI opponents with 3 difficulty levels
- Customizable board and piece designs
- Game timer with pause functionality
- Move history tracking and replay system
- Hint system and move validation
Model Verification Chain
2024Project Overview
A complete model verification chain for SimplePDL processes, translating them to Petri nets and verifying termination properties using model-checking tools.
Technical Details
- Eclipse Modeling Framework (EMF)
- OCL for static constraints
- ATL for model transformations
- Acceleo for code generation
- Tina toolbox for Petri net analysis
Key Components
- Defined metamodels for SimplePDL and PetriNet
- Implemented graphical and textual syntaxes
- Developed model-to-model transformations
- Created model-to-text transformations
- Generated LTL properties for verification
- Integrated with Tina model-checking tools
RAT Compiler Extensions
2024Project Overview
Extension of the RAT compiler to support advanced language features including pointers, arrays, for loops, and goto statements.
Technical Details
- OCaml implementation
- Abstract Syntax Tree (AST) extensions
- Lexer/Parser modifications
- Type checking system
- Memory management
Key Extensions
- Implemented pointer operations (dereferencing, address-of)
- Added array support with bounds checking
- Developed for loop control structure
- Created goto statement with label management
- Designed comprehensive type checking rules
- Implemented test cases for all new features