timlawrenz/gnn-ruby-code-study
GNN Ruby Code Study Systematic study of Graph Neural Network architectures for Ruby code complexity prediction and generation. Paper: Graph Neural Networks for Ruby Code Complexity Prediction and Generation: A Systematic Architecture Study Dataset 22,452 Ruby methods parsed into AST graphs with 74-dimensional node features. Split Samples File Train 19,084 dataset/train.jsonl Validation 3,368 dataset/val.jsonl Each JSONL record contains:… See the full description on the dataset page: https://huggingface.co/datasets/timlawrenz/gnn-ruby-code-study.
0101
1# Fleet Spec: Controlled GNN Architecture Comparison2#3# Direct comparison of 5 GNN architectures (GCN, SAGE, GAT, GIN, GraphConv)4# with controlled hyperparameters for Ruby code complexity prediction.5#6# Launch:7# ratiocinator fleet run experiments/gnn_architecture_comparison.yaml8#9# Each arm varies ONLY the conv_type. All other hyperparameters are identical.10 11name: gnn-architecture-comparison12description: "5-way GNN architecture comparison on Ruby AST complexity prediction"13 14hardware:15 gpu: "RTX 4090"16 num_gpus: 117 min_cpu_ram_gb: 3218 min_inet_down: 1000.019 min_cuda_version: 12.020 max_dph: 0.4021 disk_gb: 50.022 image: pytorch/pytorch:2.7.0-cuda12.8-cudnn9-runtime23 24repo:25 url: https://github.com/timlawrenz/jubilant-palm-tree.git26 branch: experiment/ratiocinator-gnn-study27 clone_depth: 128 29data:30 source: none31 32deps:33 pre_install:34 - "apt-get update -qq && apt-get install -y -qq git-lfs > /dev/null 2>&1 || true"35 - "cd /workspace/experiment && git lfs install && git lfs pull"36 - "pip install torch-geometric torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.7.0+cu128.html"37 - "pip install pandas tqdm sentence-transformers nltk scikit-learn numpy"38 requirements: requirements.txt39 exclude_from_requirements:40 - torch41 - torchvision42 - torch_geometric43 verify: "python -c \"import torch_geometric; print(f'PyG {torch_geometric.__version__}')\""44 45arms:46 # ── Architecture comparison (same hyperparams, different conv) ──47 - name: sage-baseline48 description: "GraphSAGE baseline (original architecture)"49 command: "bash scripts/run_complexity_arm.sh"50 env:51 CONV_TYPE: "SAGE"52 HIDDEN_DIM: "64"53 NUM_LAYERS: "3"54 DROPOUT: "0.1"55 LEARNING_RATE: "0.001"56 EPOCHS: "50"57 58 - name: gcn59 description: "Graph Convolutional Network"60 command: "bash scripts/run_complexity_arm.sh"61 env:62 CONV_TYPE: "GCN"63 HIDDEN_DIM: "64"64 NUM_LAYERS: "3"65 DROPOUT: "0.1"66 LEARNING_RATE: "0.001"67 EPOCHS: "50"68 69 - name: gat70 description: "Graph Attention Network"71 command: "bash scripts/run_complexity_arm.sh"72 env:73 CONV_TYPE: "GAT"74 HIDDEN_DIM: "64"75 NUM_LAYERS: "3"76 DROPOUT: "0.1"77 LEARNING_RATE: "0.001"78 EPOCHS: "50"79 80 - name: gin81 description: "Graph Isomorphism Network"82 command: "bash scripts/run_complexity_arm.sh"83 env:84 CONV_TYPE: "GIN"85 HIDDEN_DIM: "64"86 NUM_LAYERS: "3"87 DROPOUT: "0.1"88 LEARNING_RATE: "0.001"89 EPOCHS: "50"90 91 - name: graphconv92 description: "GraphConv (Morris et al.)"93 command: "bash scripts/run_complexity_arm.sh"94 env:95 CONV_TYPE: "GraphConv"96 HIDDEN_DIM: "64"97 NUM_LAYERS: "3"98 DROPOUT: "0.1"99 LEARNING_RATE: "0.001"100 EPOCHS: "50"101 102 # ── Hyperparameter variants on best-expected architectures ──103 - name: sage-wide104 description: "SAGE with 128 hidden dim"105 command: "bash scripts/run_complexity_arm.sh"106 env:107 CONV_TYPE: "SAGE"108 HIDDEN_DIM: "128"109 NUM_LAYERS: "3"110 DROPOUT: "0.1"111 LEARNING_RATE: "0.001"112 EPOCHS: "50"113 114 - name: gat-wide115 description: "GAT with 128 hidden dim"116 command: "bash scripts/run_complexity_arm.sh"117 env:118 CONV_TYPE: "GAT"119 HIDDEN_DIM: "128"120 NUM_LAYERS: "3"121 DROPOUT: "0.1"122 LEARNING_RATE: "0.001"123 EPOCHS: "50"124 125 - name: sage-deep126 description: "SAGE with 5 layers"127 command: "bash scripts/run_complexity_arm.sh"128 env:129 CONV_TYPE: "SAGE"130 HIDDEN_DIM: "64"131 NUM_LAYERS: "5"132 DROPOUT: "0.1"133 LEARNING_RATE: "0.001"134 EPOCHS: "50"135 136metrics:137 protocol: json_line138 json_prefix: "METRICS:"139 140budget:141 max_dollars: 10.00142 train_timeout_s: 1200143 download_timeout_s: 600144 