cray-python module)rocm/7.2.0) — or CUDA on NVIDIA systemsTo set up the environment on OLCF Frontier (AMD MI250X / ROCm) with a Python virtual environment, run every step from the repository root.
Step 1 — Load the required modules
module load cray-python # provides python + venv
module load git-lfs # for model/dataset files tracked with Git LFS
module load rocm/7.2.0 # AMD GPU runtime for PyTorch
Step 2 — Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
Step 3 — Configure the OLCF proxy
Frontier nodes have no direct outbound internet; the proxy is required for pip and for downloading models/datasets from the Hugging Face Hub.
export https_proxy='http://proxy.ccs.ornl.gov:3128'
export http_proxy='http://proxy.ccs.ornl.gov:3128'
export no_proxy='localhost,127.0.0.1,0.0.0.0'
Step 4 — Install PyTorch (ROCm build)
Install the PyTorch wheel matching the loaded rocm module before the other requirements, so pip does not pull the default CUDA wheel. Browse the available builds at https://download.pytorch.org/whl/ and choose the rocmX.Y closest to your module.
pip3 install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/rocm7.2
Step 5 — Install SciTrust and its Python dependencies
pip install -r requirements.txt
pip install -e .
models folder in base directorymodels (FORGE-L under models/forge-l/)The project data includes the following components:
In a fresh shell, re-load the modules, activate the environment, and set the proxy (from the repository root):
module load cray-python git-lfs rocm/7.2.0
source .venv/bin/activate
export https_proxy='http://proxy.ccs.ornl.gov:3128'
export http_proxy='http://proxy.ccs.ornl.gov:3128'
export no_proxy='localhost,127.0.0.1,0.0.0.0'
To run inference use the scitrust-run command:
scitrust-run --perspective <trustworthiness-perspective> --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
To get performance results use the scitrust-eval command:
scitrust-eval --perspective <trustworthiness-perspective> --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
Local models (e.g. FORGE-L, Darwin) require a GPU, so run them on a compute node rather than a login node. With your environment active (modules, .venv, and proxy — see Before each session), request an interactive allocation:
salloc -A stf218 -N 1 -t 00:20:00 -p batch
Adjust -A (project account), -N (node count), and -t (walltime) to suit your run. Once the allocation is granted, launch inference with srun from the repository root:
HOME=$PWD srun -n1 scitrust-run --perspective truthfulness_misinformation --dataset SciQ -k 0 --model forge-l-instruct
models/forge-l path resolves.HOME=$PWD redirects the Hugging Face / model cache into the project directory instead of your (quota-limited) home area.gpt-o4-mini, claude-sonnet-3.7) need no GPU and can run on a login node, but still require the proxy and the relevant API key.gpt-o4-miniclaude-sonnet-3.7llama4-scoutllama3.3-70b-instructforge-l-instructsciglm-6bdarwin1.5-7bgalactica-120bscitrust-run --perspective 'truthfulness_misinformation' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_misinformation' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
SciQGPQAARC-EARC-CHT-CCHT-CCSHT-CBHT-CPChemistryQAPhysicsQABiologyQAComputerScienceQALogicInferencescitrust-run --perspective 'truthfulness_logical_reasoning' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_logical_reasoning' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
ReClorLogiQALogicInferencescitrust-run --perspective 'truthfulness_hallucination' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'truthfulness_hallucination' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'truthfulness_sycophancy' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_sycophancy' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
SciQGPQAARC-EARC-Cscitrust-run --perspective 'adv_robustness_textfooler' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_textfooler' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_textbugger' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_textbugger' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_stresstest' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_stresstest' --dataset <dataset-name> --model <model-name>
SciQGPQAARC-Cscitrust-run --perspective 'adv_robustness_open_ended_character-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_character-level' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
ChemistryQAPhysicsQABiologyQAComputerScienceQAscitrust-run --perspective 'safety' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'safety' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
WMDP-BIOWMDP-CHEMWMDP-CYBERHarmBench-CHEM-BIOHarmBench-CYBERCRIME-INTRUSIONscitrust-run --perspective 'scientific_ethics' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'scientific_ethics' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scientific_ethics_aiscientific_ethics_animal_testingscientific_ethics_bias_objectivityscientific_ethics_data_privacyscientific_ethics_dual_use_researchscientific_ethics_environmental_impactscientific_ethics_human_subjectsscientific_ethics_genetic_modificationEmily Herron, Junqi Yin, and Feiyi Wang. “SciTrust: Evaluating the Trustworthiness of Large 372 Language Models for Science”. In: Proceedings of the SC ’24 Workshops of the International 373 Conference on High Performance Computing, Network, Storage, and Analysis. SC-W ’24. 374 Atlanta, GA, USA: IEEE Press, 2025, pp. 72–78. ISBN: 9798350355543. DOI: 10.1109/ 375 SCW63240.2024.00017. URL: https://doi.org/10.1109/SCW63240.2024.00017.
Coming soon
48 commits
Python
100.0%
cray-python module)rocm/7.2.0) — or CUDA on NVIDIA systemsTo set up the environment on OLCF Frontier (AMD MI250X / ROCm) with a Python virtual environment, run every step from the repository root.
Step 1 — Load the required modules
module load cray-python # provides python + venv
module load git-lfs # for model/dataset files tracked with Git LFS
module load rocm/7.2.0 # AMD GPU runtime for PyTorch
Step 2 — Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
Step 3 — Configure the OLCF proxy
Frontier nodes have no direct outbound internet; the proxy is required for pip and for downloading models/datasets from the Hugging Face Hub.
export https_proxy='http://proxy.ccs.ornl.gov:3128'
export http_proxy='http://proxy.ccs.ornl.gov:3128'
export no_proxy='localhost,127.0.0.1,0.0.0.0'
Step 4 — Install PyTorch (ROCm build)
Install the PyTorch wheel matching the loaded rocm module before the other requirements, so pip does not pull the default CUDA wheel. Browse the available builds at https://download.pytorch.org/whl/ and choose the rocmX.Y closest to your module.
pip3 install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/rocm7.2
Step 5 — Install SciTrust and its Python dependencies
pip install -r requirements.txt
pip install -e .
models folder in base directorymodels (FORGE-L under models/forge-l/)The project data includes the following components:
In a fresh shell, re-load the modules, activate the environment, and set the proxy (from the repository root):
module load cray-python git-lfs rocm/7.2.0
source .venv/bin/activate
export https_proxy='http://proxy.ccs.ornl.gov:3128'
export http_proxy='http://proxy.ccs.ornl.gov:3128'
export no_proxy='localhost,127.0.0.1,0.0.0.0'
To run inference use the scitrust-run command:
scitrust-run --perspective <trustworthiness-perspective> --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
To get performance results use the scitrust-eval command:
scitrust-eval --perspective <trustworthiness-perspective> --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
Local models (e.g. FORGE-L, Darwin) require a GPU, so run them on a compute node rather than a login node. With your environment active (modules, .venv, and proxy — see Before each session), request an interactive allocation:
salloc -A stf218 -N 1 -t 00:20:00 -p batch
Adjust -A (project account), -N (node count), and -t (walltime) to suit your run. Once the allocation is granted, launch inference with srun from the repository root:
HOME=$PWD srun -n1 scitrust-run --perspective truthfulness_misinformation --dataset SciQ -k 0 --model forge-l-instruct
models/forge-l path resolves.HOME=$PWD redirects the Hugging Face / model cache into the project directory instead of your (quota-limited) home area.gpt-o4-mini, claude-sonnet-3.7) need no GPU and can run on a login node, but still require the proxy and the relevant API key.gpt-o4-miniclaude-sonnet-3.7llama4-scoutllama3.3-70b-instructforge-l-instructsciglm-6bdarwin1.5-7bgalactica-120bscitrust-run --perspective 'truthfulness_misinformation' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_misinformation' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
SciQGPQAARC-EARC-CHT-CCHT-CCSHT-CBHT-CPChemistryQAPhysicsQABiologyQAComputerScienceQALogicInferencescitrust-run --perspective 'truthfulness_logical_reasoning' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_logical_reasoning' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
ReClorLogiQALogicInferencescitrust-run --perspective 'truthfulness_hallucination' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'truthfulness_hallucination' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'truthfulness_sycophancy' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'truthfulness_sycophancy' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
SciQGPQAARC-EARC-Cscitrust-run --perspective 'adv_robustness_textfooler' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_textfooler' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_textbugger' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_textbugger' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_stresstest' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_stresstest' --dataset <dataset-name> --model <model-name>
SciQGPQAARC-Cscitrust-run --perspective 'adv_robustness_open_ended_character-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_character-level' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-run --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
scitrust-eval --perspective 'adv_robustness_open_ended_word-level' --dataset <dataset-name> --model <model-name>
ChemistryQAPhysicsQABiologyQAComputerScienceQAscitrust-run --perspective 'safety' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'safety' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
WMDP-BIOWMDP-CHEMWMDP-CYBERHarmBench-CHEM-BIOHarmBench-CYBERCRIME-INTRUSIONscitrust-run --perspective 'scientific_ethics' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scitrust-eval --perspective 'scientific_ethics' --dataset <dataset-name> -k <number-of-demonstrations> --model <model-name>
scientific_ethics_aiscientific_ethics_animal_testingscientific_ethics_bias_objectivityscientific_ethics_data_privacyscientific_ethics_dual_use_researchscientific_ethics_environmental_impactscientific_ethics_human_subjectsscientific_ethics_genetic_modificationEmily Herron, Junqi Yin, and Feiyi Wang. “SciTrust: Evaluating the Trustworthiness of Large 372 Language Models for Science”. In: Proceedings of the SC ’24 Workshops of the International 373 Conference on High Performance Computing, Network, Storage, and Analysis. SC-W ’24. 374 Atlanta, GA, USA: IEEE Press, 2025, pp. 72–78. ISBN: 9798350355543. DOI: 10.1109/ 375 SCW63240.2024.00017. URL: https://doi.org/10.1109/SCW63240.2024.00017.
Coming soon
48 commits
Python
100.0%