Skip to content

AIBuildAI Science

Latest

Choose a tag to compare

@t2ance t2ance released this 04 Aug 07:23
· 1 commit to main since this release

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_tree is 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-browser

To 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 defaults

Edit 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 directory
  • run.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 run
  • run.playground_root — where the run writes its work and the final submission
  • llm.default.model — which model to use
  • work_units — how long each kind of agent may take; the starter config already carries a working set
  • search.parallel — how many candidates run at once
  • resources.work_unit.cpu_max_cores and resources.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.yaml

Choose a model provider

  • Anthropic (default, claude-* ids) — if Claude Code is already signed in on this machine, no Anthropic API key is needed. Otherwise run claude auth login, or put your Anthropic API key in AIBUILDAI_API_KEY.
  • OpenAI — a bare gpt-* id. If this machine is signed in to Codex, that login is used; otherwise export your OpenAI key as AIBUILDAI_API_KEY.
  • DeepSeek — a bare deepseek-* id, for example deepseek-v4-flash. Export your DeepSeek key as AIBUILDAI_API_KEY.
  • OpenRouter, or another Anthropic-compatible endpoint — export AIBUILDAI_BASE_URL with its base URL, AIBUILDAI_API_KEY with its key, and AIBUILDAI_SMALL_FAST_MODEL with 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 $USER and open a new login shell. In a container, use a base image with systemd enabled.
  • conda, in a shell where it is initialized. Run conda init, or source <conda>/etc/profile.d/conda.sh, before starting AIBuildAI Science — conda on PATH alone 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: 0 and 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.