-
PyTorch
PyTorch
Koneoppimiskehys Pythonille.
Uutiset
23.1.2026 LUMIn huoltokatkon 21.1.2026 jälkeen CSC:n PyTorch- asennukset eivät enää toimi nopean Slingshot-verkon kanssa uusien ajureiden binaariyhteensopimattomuuksien vuoksi. Tämä tarkoittaa, että usean solmun työt ovat odotettavasti 10–20 % hitaampia kuin aiemmin. Katso lisätietoja alla olevista LUMI-asennushuomioista.
9.1.2026 PyTorch 2.9.1 asennettiin Puhtiin ja Mahtiin, ja siitä tehtiin oletusversio. Apex poistettiin, koska kirjasto on ollut vanhentunut jo pitkään. Myöskään SGLang ei sisälly tähän versioon vLLM:n edellyttämien kirjastojen yhteensopimattomuuksien vuoksi. Lisätty ovat litgpt, ultralytics, sahi ja torchgeo.
Uusia PyTorch-versioita LUMIin valmistelee uusi LUMI AI Factory, ja niiden odotetaan julkaistavan alkukevään aikana.
8.7.2025 PyTorch 2.7.1 asennettiin Puhtiin ja Mahtiin, ja siitä tehtiin oletusversio. Tämä versio sisältää SGLangin, mutta huomaa, että SGLang tukee vain Mahtia Puhtin vanhemman GPU-arkkitehtuurin vuoksi.
26.6.2025 PyTorch 2.7.1 asennettiin LUMIin, ja siitä tehtiin oletusversio.
Vanhemmat uutiset (näytä napsauttamalla)
10.4.2025 PyTorch 2.6.0 asennettiin Puhtiin ja Mahtiin, ja siitä tehtiin oletusversio. Sisältää uusimmat versiot suosituista paketeista, kuten Hugging Face transformers, vLLM ja FAISS. PyTorch geometric ja siihen liittyvät paketit eivät enää sisälly mukaan, koska ne eivät tue uudempia PyTorch-versioita.
20.1.2025 PyTorch 2.5.1 asetettiin oletusversioksi kaikilla supertietokoneilla.
20.12.2024 PyTorch 2.5.1 ROCm 6.2:lla lisättiin LUMIin. Sisältää kaikki tavalliset paketit sekä kokeellisen tuen FAISSille.
17.12.2024 PyTorch 2.5.1 lisättiin Puhtiin ja Mahtiin. Sisältää vLLM:n ja FAISSin monien muiden päivitysten joukossa.
19.9.2024 PyTorch 2.4.1 ROCm 6.1:llä lisättiin LUMIin. LUMIn PyTorch-moduuli sisältää nyt vLLM-version 0.5.5 sekä FlashAttention-2:n, bitsandbytesin ja monia muita usein pyydettyjä paketteja, jotka sisältyivät jo aiempiin asennuksiin. LUMI-moduuli käyttää edelleen vanhan tyylin wrappereita (ei tykky-pohjaisia wrappereita kuten Puhtissa ja Mahdissa).
21.8.2024 PyTorch 2.4 lisättiin Puhtiin ja Mahtiin. LUMI- asennus viivästyy nykyisen huoltokatkon jälkeiseen aikaan. torchtext-paketti ei enää sisälly mukaan, koska se on vanhentunut eikä enää toimi PyTorch 2.4:n kanssa.
13.6.2024 PyTorch 2.3 lisättiin Puhtiin ja Mahtiin. LUMI-
asennus viivästyy alkusyksyyn yhteensopimattoman ROCm-ajuriversion
vuoksi. Tässä versiossa on myös päivitetty Python-komentojen
wrapperointi, koska tämä ratkaisee useita virtuaaliympäristöjen ja
Jupyter Notebookien käyttöön liittyviä ongelmia. Tämän vuoksi
apptainer- ja apptainer_wrapper-komennot eivät enää toimi,
mutta muuten muutoksen pitäisi olla käyttäjille näkymätön.
1.3.2024 PyTorch 2.2 lisättiin Puhtiin, Mahtiin ja LUMIin. LUMIn moduuli sisältää ROCm-versiot FlashAttention-2:sta ja bitsandbytesista, koska käyttäjien on vaikea lisätä niitä itse. xFormers on lisätty kaikkiin kolmeen järjestelmään.
17.11.2023 PyTorch 2.1 lisättiin Puhtiin, Mahtiin ja LUMIin. Horovod on poistettu, suosittelemme käyttämään sen sijaan PyTorch DDP:tä. PyTorch Geometric lisättiin Puhtin ja Mahtin versioon.
5.10.2022 Puhtin Red Hat Enterprise Linux 8 -päivityksen (RHEL8) vuoksi täysin tuettujen PyTorch-versioiden määrää on vähennetty. Aiemmin vanhentuneiksi merkityt conda-pohjaiset versiot on poistettu. Ole yhteydessä asiakastukeemme, jos todella tarvitset pääsyn vanhempiin versioihin.
5.5.2022 Mahtin Red Hat Enterprise Linux 8 -päivityksen (RHEL8) vuoksi täysin tuettujen PyTorch-versioiden määrää on vähennetty. Ole yhteydessä asiakastukeemme, jos todella tarvitset pääsyn muihin versioihin.
4.2.2022 Kaikki vanhat PyTorch-versiot, jotka perustuivat suoriin Conda-asennuksiin, on merkitty vanhentuneiksi, ja kannustamme käyttäjiä siirtymään uudempiin versioihin. Lue lisää erilliseltä Conda-vanhentumissivultamme.
Saatavilla
Tällä hetkellä tuetut PyTorch-versiot:
| Versio | Moduuli | Puhti | Mahti | (LUMI) katso huomautukset alla |
Huomautukset |
|---|---|---|---|---|---|
| 2.9.1 | pytorch/2.9 |
X | X | - | Oletus Puhtissa, Mahdissa |
| 2.7.1 | pytorch/2.7 |
X | X | (X) | Ei Slingshotia (katso alla) |
| 2.6.0 | pytorch/2.6 |
X | X | - | |
| 2.5.1 | pytorch/2.5 |
X | X | (X) | |
| 2.4.1 | pytorch/2.4 |
- | - | (X) | |
| 2.4.0 | pytorch/2.4 |
X | X | - | Uudet tykky-pohjaiset wrapperit |
| 2.3.1 | pytorch/2.3 |
X | X | - | Uudet tykky-pohjaiset wrapperit |
| 2.2.2 | pytorch/2.2 |
- | - | (X) | |
| 2.2.1 | pytorch/2.2 |
X | X | - | |
| 2.1.2 | pytorch/2.1 |
- | - | (X) | |
| 2.1.0 | pytorch/2.1 |
X | X | - | |
| 2.0.1 | pytorch/2.0 |
- | - | (X) | |
| 2.0.0 | pytorch/2.0 |
X | X | - | |
| 1.13.1 | pytorch/1.13 |
- | - | (X) | |
| 1.13.0 | pytorch/1.13 |
X | X | - | |
| 1.12.0 | pytorch/1.12 |
X | X | - | |
| 1.11.0 | pytorch/1.11 |
X | X | - |
Sisältää PyTorchin ja siihen liittyviä kirjastoja GPU-tuella CUDA:n/ROCm:n kautta.
LUMI-asennukset
LUMI-asennukset – merkitty yllä olevassa taulukossa merkinnällä "(X)" – eivät enää tue nopeaa Slingshot-verkkoa uusien ajureiden kanssa ilmenevien binaariyhteensopimattomuuksien vuoksi, jotka tulivat käyttöön LUMIn huoltokatkossa 21.1.2026. Tämä tarkoittaa, että usean solmun töiden odotetaan olevan 10–20 % hitaampia kuin aiemmin. Yhden solmun töissä eroa ei ole. CSC:n PyTorch LUMIssa voidaan katsoa vanhentuneeksi, ja suosittelemme käyttämään sen sijaan LUMI AI Factoryn tarjoamia kontteja.
Jos huomaat, että jokin paketti puuttuu, voit usein asentaa sen
itse käyttämällä komentoa pip install. Pythonin
virtuaaliympäristöjen käyttöä suositellaan. Katso Python-
dokumentaatiostamme lisätietoja pakettien asentamisesta
itse.
Jos mielestäsi jokin tärkeä paketti pitäisi sisällyttää CSC:n
tarjoamaan moduuliin, ole yhteydessä
asiakastukeemme.
Kaikki moduulit perustuvat Apptaineria käyttäviin kontteihin (aiemmin
tunnettu nimellä Singularity). Wrapper-skriptit on tarjottu, jotta
yleiset komennot kuten python, python3, pip ja pip3 toimisivat
normaalisti.
PyTorch-versiossa 2.2 ja sitä aiemmissa muut komennot täytyy
kirjoittaa etuliitteellä apptainer_wrapper exec, esimerkiksi
apptainer_wrapper exec huggingface-cli. Lisätietoja on CSC:n
yleisissä ohjeissa Apptainer-konttien
ajamisesta.
PyTorch-versiossa 2.3 ja sitä uudemmissa Puhtissa tai Mahdissa
olemme käyttäneet tykky-
työkalulla luotuja wrappereita, ja
kaikki esiasennettujen Python-pakettien tarjoamat komennot on
wrapperoitu ja niitä voidaan käyttää suoraan. Jos sinun todella
täytyy ajaa jotain kontin sisällä, voit käyttää etuliitettä
_debug_exec tai ajaa komennon _debug_shell avataksesi shell-
istunnon.
Uusille käyttäjille
Jos koneoppimisen käyttö CSC:n supertietokoneilla on sinulle uutta, lue uusi opastuksemme Koneoppimisen käytön aloittaminen CSC:llä, jossa kerrotaan, miten yksinkertainen PyTorch-projekti ajetaan Puhtissa selainkäyttöliittymän avulla.
Lisenssi
PyTorch on lisensoitu BSD-tyylisellä lisenssillä, kuten LICENSE- tiedostossa on kuvattu.
Käyttö
Jos haluat käyttää PyTorchin oletusversiota Puhtissa tai Mahdissa, alusta se komennolla:
Jos haluat käyttää PyTorchia LUMIssa, katso yllä olevat huomautukset LUMI-asennuksesta.
Jos haluat käyttää tiettyä versiota (katso saatavilla olevat versiot yllä), käytä:
Huomaa, että moduuli sisältää jo CUDA- ja cuDNN-kirjastot, joten cuda- ja cudnn-moduuleja ei tarvitse ladata erikseen!
Tämä komento näyttää myös kaikki saatavilla olevat versiot:
Voit tarkistaa ladattuun moduuliin sisältyvät tarkat paketit ja versiot ajamalla:
Warning
Huomaa, että kirjautumissolmuja ei ole tarkoitettu raskaaseen laskentaan, käytä sen sijaan slurm-eräajoja. Katso ohjeemme eräajojärjestelmän käytöstä.
Esimerkkieräajokomentosarja
Esimerkkieräajokomentosarja yhden GPU:n ja sitä vastaavan osuuden yhdessä solmussa käytettävissä olevista CPU-ytimistä varaamiseen:
Lue osio GPU:n tehokas hyödyntäminen koneoppimisoppaassamme, jotta opit käyttämään GPU:ta tehokkaasti.
Suuret aineistot, usean GPU:n ja usean solmun työt
Jos työskentelet suurten aineistojen kanssa tai aineistojen, jotka sisältävät paljon tiedostoja, lue koneoppimisoppaamme dataosio. Erityisesti älä lue valtavaa määrää tiedostoja jaetusta tiedostojärjestelmästä, vaan käytä nopeaa paikallislevyä tai kokoa data suuremmiksi tiedostoiksi!
Usean GPU:n ja usean solmun töihin suosittelemme käyttämään PyTorchin Distributed Data-Parallel -kehystä. Voit lukea tästä lisää ja löytää esimerkkejä PyTorch DDP:n käytöstä CSC:n supertietokoneilla koneoppimisoppaamme usean GPU:n ja usean solmun osiosta
PyTorch-profileri
Jos PyTorch-ohjelmasi on hidas tai huomaat, että sillä on alhainen GPU:n käyttöaste, voit käyttää PyTorch- profileria ohjelmasi ajan- ja muistinkulutuksen analysointiin.
PyTorch-profilerin voi ottaa käyttöön lisäämällä muutaman rivin koodia olemassa olevaan PyTorch-ohjelmaasi:
from torch.profiler import profile, ProfilerActivity
prof = profile(
schedule=torch.profiler.schedule(
skip_first=10,
wait=5,
warmup=1,
active=3,
repeat=1)
on_trace_ready=torch.profiler.tensorboard_trace_handler('./logs/profiler'),
activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA],
record_shapes=True, # record shapes of operator inputs
profile_memory=True, # track tensor memory allocation/deallocation
with_stack=True # record source code information
)
Tässä esimerkissä päätämme ohittaa ensimmäiset 10 erää ja tallentaa
profilointia varten vain muutaman erän. Profilointijälki tallennetaan
TensorBoard-muodossa hakemistoon logs/profiler. Kaikki vaihtoehdot
näet PyTorchin profiler-API:n
dokumentaatiosta.
Seuraavaksi profiler pitää käynnistää ja pysäyttää sekä yksittäiset vaiheet (tyypillisesti erät) pitää tallentaa. Tämä tehtäisiin yleensä opetussilmukan ympärillä:
prof.start()
for batch in train_loader:
# normal forward and backprop stuff here
prof.step()
prof.stop()
GitHub-
repositoriossamme on
täysi esimerkki profiloinnista:
mnist_ddp_profiler.py
sekä sitä vastaava Slurm-eräajokomentosarja.
Työn ajamisen jälkeen voit tarkastella profilerin tulostetta TensorBoardilla. Käynnistä TensorBoard-istunto käyttämäsi supertietokoneen selainkäyttöliittymässä. Jos PyTorch-profileria ei avata automaattisesti, saatat löytää sen välilehtipalkista nimellä PYTORCH_PROFILER. Jos välilehti ei näy oletuksena, se löytyy käyttöliittymän oikean reunan pudotusvalikosta.
Erityisen hyödyllinen näkymä on Trace view (valitse "Trace" "Views"- pudotusvalikosta). Alla on esimerkkikuvakaappaus yllä linkitetyn esimerkin ajosta.

Trace view'ta voi zoomata ja siirtää pienellä työkalupalkilla yläoikealla tai käyttämällä siirtämiseen näppäimiä 'a' ja 'd' sekä zoomaukseen näppäimiä 'w' ja 's'.
Kuvakaappauksessa näemme:
- Punaisella merkitty alue 1 näyttää datan lataamisen (tämä näkyy, kun zoomataan sisään ja luetaan näkyvät funktionimet. Tämä ajetaan kokonaan CPU:lla, koska se on väritetty vain näytön yläosassa tavallisten Pythonin CPU-säikeiden kohdalla.
- Sinisellä merkitty alue 2 näyttää eteenpäinlaskennan ja takaisinlevityksen vaiheet. Osa tästä tehdään GPU:lla, mikä näkyy värityksestä alaosassa "GPU 0" -alueella.
On selvää, että tämä työ ei hyödynnä GPU:ta hyvin, koska suurin osa ajasta kuluu CPU-käsittelyyn. Yleisesti voisi kokeilla lisätä enemmän CPU-ytimiä datan lataamisen tehokkaampaan käsittelyyn ja kasvattaa eräkokoa GPU-laskentakuorman lisäämiseksi. Tässä nimenomaisessa tapauksessa ongelma on kuitenkin se, että verkko on niin pieni, ettei se pysty todella hyödyntämään GPU:ta täysimääräisesti.
Lisää vinkkejä profilerin tulosteen tarkasteluun ja tulkintaan löytyy PyTorch-profilerin TensorBoard-oppaasta.