AIBuildAI Science — 2026-08-04
AIBuildAI Science reads a dataset and a task description and builds a model. It designs candidate models, trains them, scores them on data it held back, and writes out the best submission.
This release opens the Science line. The binary answers to aibuildai, and aibuildai --version prints its name.
Register and subscribe
AIBuildAI Science needs a Science plan. Create an account at accounts.aibuildai.io/sign-up. After signing in, go to the Billing section and switch to the Science plan ($1000 / month). Once payment is processed, your account will show an active Science subscription.
New features
- A second search method, built for scientific work. The Science line ships two ways of exploring a design space.
tree, the method v2.5 shipped, is the general one.nb_treeis new and is aimed at scientific tasks, where a candidate is a whole idea carried through to a measured result rather than a model to be tuned. It is the method we use for our own work on NatureBench. - OpenAI models. AIBuildAI Science now runs on OpenAI models, alongside Anthropic, DeepSeek, and any Anthropic-compatible endpoint. It carries what it needs to reach them, and it can use the Codex login this machine already has, so an OpenAI key is one way in rather than a requirement.
- Tasks that start from a description. A run no longer needs data prepared in advance. Given the problem in words, AIBuildAI Science obtains the data, works out how the result should be judged, holds back its own answer key, and writes the scoring program before the search begins.
- A paper about a finished run. AIBuildAI Science can write a run up as a NeurIPS-format paper and compile it to a PDF: what it tried, what it found, and how that was measured. For work that ends in a write-up rather than a submission.
- Per-run choice of GPUs. A run can be told which cards it may use, so several runs share a machine without taking each other's hardware.
- Resource ceilings the kernel enforces. Each unit of work runs under a CPU and memory ceiling held by the kernel, not by the run's own good behavior, so one heavy step cannot take the machine down — and a run can be sized to the machine it is on.
- Resume without editing anything. Resuming is now a command that shows your recent runs and lets you pick one. In v2.5 it meant editing your config first.
Install
curl -L -o aibuildai.tar.gz \
https://github.com/aibuildai/AI-Build-AI/releases/download/v2.7.0/aibuildai-linux-x86_64-v2.7.0.tar.gz
# optional: check the download
echo "c83f00c2ce08d1a7a4e1c688089fc227fbede9b7d4f678e86371a75afe0ba236 aibuildai.tar.gz" | sha256sum -c
tar -xzf aibuildai.tar.gz
cd aibuildai-linux-x86_64-science
./install.sh # installs to ~/.local/bin/aibuildai
command -v aibuildai # expect ~/.local/bin/aibuildai
# different path -> ~/.local/bin is shadowed; put it ahead on PATH
# "command not found" -> restart the shell or: source ~/.bashrc
aibuildai login # on a server with no browser: aibuildai login --no-browserTo uninstall: rm -rf ~/.local/bin/aibuildai ~/.local/lib/aibuildai. Your account and memory stay in ~/.aibuildai.
Run a task
aibuildai config > task.yaml # the fields you can set, with their defaultsEdit task.yaml before you run it. The fields marked REQUIRED -- replace have no default and a run will not start without them:
run.task_name— a short id for the task; it names the output directoryrun.data_root— one folder holding everything the task needs: what you want, written in any readable form, plus the data. It is read-only for the whole runrun.playground_root— where the run writes its work and the final submissionllm.default.model— which model to usework_units— how long each kind of agent may take; the starter config already carries a working setsearch.parallel— how many candidates run at onceresources.work_unit.cpu_max_coresandresources.work_unit.memory_max_gb— the ceiling for one unit of work
run.budget is not marked, because the starter config already fills it in — with 24 hours of wall clock and no spending limit at all. Set run.budget.cost_usd before a long run.
Then:
aibuildai run task.yamlChoose a model provider
- Anthropic (default,
claude-*ids) — if Claude Code is already signed in on this machine, no Anthropic API key is needed. Otherwise runclaude auth login, or put your Anthropic API key inAIBUILDAI_API_KEY. - OpenAI — a bare
gpt-*id. If this machine is signed in to Codex, that login is used; otherwise export your OpenAI key asAIBUILDAI_API_KEY. - DeepSeek — a bare
deepseek-*id, for exampledeepseek-v4-flash. Export your DeepSeek key asAIBUILDAI_API_KEY. - OpenRouter, or another Anthropic-compatible endpoint — export
AIBUILDAI_BASE_URLwith its base URL,AIBUILDAI_API_KEYwith its key, andAIBUILDAI_SMALL_FAST_MODELwith a small model id that endpoint serves.
Account commands
aibuildai whoami shows the signed-in account, your plan, and whether this machine can start a run. aibuildai logout signs out. aibuildai account opens your account portal, where the Plans tab is.
Requirements
- Linux x86_64 only — no macOS, no native Windows, no ARM. On Windows, WSL2 with systemd enabled works. glibc 2.28 or newer (Ubuntu 20.04+, Debian 10+, RHEL and CentOS 8+).
- A systemd user manager; a run will not start without one. A normal login session has one. Over a bare SSH command, run
sudo loginctl enable-linger $USERand open a new login shell. In a container, use a base image with systemd enabled. conda, in a shell where it is initialized. Runconda init, orsource <conda>/etc/profile.d/conda.sh, before starting AIBuildAI Science —condaonPATHalone is not enough. Each task then gets its own conda environment, which AIBuildAI Science creates for it.- An NVIDIA GPU and its driver. AIBuildAI Science reads the driver's CUDA version and installs a matching build of PyTorch for each task, so there is no CUDA version for you to match. A machine with no GPU does not stop the run — it admits the work with no card and trains on the CPU, which is far slower — so on such a machine set
resources.gpu.gpus_per_node: 0and mean it. - 1 GB of disk once installed, and 2 GB free while you unpack and install, because the tarball, the unpacked directory and the installed copy all exist at once. Plus room for each task's conda environment and the run's output.