Dela via


Felsöka jobb och övervaka träningsförlopp

Maskininlärningsmodellträning är en iterativ process och kräver betydande experimentering. Med den interaktiva jobbupplevelsen i Azure Machine Learning kan dataexperter använda Azure Machine Learning Python SDK, Azure Machine Learning CLI eller Azure Studio för att få åtkomst till containern där deras jobb körs. När jobbcontainern har använts kan användarna iterera på träningsskript, övervaka träningsförloppet eller felsöka jobbet på distans som de vanligtvis gör på sina lokala datorer. Jobb kan interageras med via olika utbildningsprogram, inklusive JupyterLab, TensorBoard, VS Code eller genom att ansluta till jobbcontainern direkt via SSH.

Interaktiv utbildning stöds i Azure Machine Learning Compute Clusters och Azure Arc-aktiverade Kubernetes-kluster.

Förutsättningar

  • Läs komma igång med utbildning i Azure Machine Learning.
  • Mer information finns i den här länken för VS Code för att konfigurera Azure Machine Learning-tillägget.
  • Kontrollera att jobbmiljön har paketen openssh-server och ipykernel ~=6.0 installerade (alla Azure Machine Learning-kuraterade träningsmiljöer har dessa paket installerade som standard).
  • Interaktiva program kan inte aktiveras på distribuerade träningskörningar där distributionstypen är något annat än PyTorch, TensorFlow eller MPI. Anpassad distribuerad träningskonfiguration (konfigurera träning med flera noder utan att använda ovanstående distributionsramverk) stöds inte för närvarande.
  • Om du vill använda SSH behöver du ett SSH-nyckelpar. Du kan använda ssh-keygen -f "<filepath>" kommandot för att generera ett offentligt och privat nyckelpar.

Interagera med din jobbcontainer

Genom att ange interaktiva program när jobbet skapas kan du ansluta direkt till containern på beräkningsnoden där jobbet körs. När du har åtkomst till jobbcontainern kan du testa eller felsöka jobbet i exakt samma miljö där det skulle köras. Du kan också använda VS Code för att ansluta till den process som körs och felsöka på samma sätt som lokalt.

Aktivera under jobböverföring

  1. Skapa ett nytt jobb från det vänstra navigeringsfönstret i studioportalen.

  2. Välj Beräkningskluster eller Ansluten beräkning (Kubernetes) som beräkningstyp, välj beräkningsmål och ange hur många noder du behöver i Instance count.

Skärmbild av att välja en beräkningsplats för ett jobb.

  1. Följ guiden för att välja den miljö som du vill starta jobbet i.

  2. I steget Träningsskript lägger du till träningskoden (och indata/utdata) och refererar till den i kommandot för att se till att den är monterad på jobbet.

Skärmbild av att granska ett utkastat jobb och slutföra skapandet.

Du kan placera sleep <specific time> i slutet av kommandot för att ange hur lång tid du vill reservera beräkningsresursen. Formatet följer:

  • sömn 1s
  • viloläge 1 m
  • sömn 1h
  • sömn 1d

Du kan också använda kommandot sleep infinity som skulle hålla jobbet vid liv på obestämd tid.

Kommentar

Om du använder sleep infinitymåste du avbryta jobbet manuellt för att släppa beräkningsresursen (och stoppa faktureringen).

  1. I Beräkningsinställningar expanderar du alternativet för Utbildningsprogram. Välj minst ett träningsprogram som du vill använda för att interagera med jobbet. Om du inte väljer ett program är felsökningsfunktionen inte tillgänglig.

Skärmbild av hur du väljer ett träningsprogram som användaren ska använda för ett jobb.

  1. Granska och skapa jobbet.

Ansluta till slutpunkter

Om du vill interagera med ditt jobb som körs väljer du knappen Felsöka och övervaka på jobbinformationssidan.

Skärmbild av interaktiva jobb som felsöker och övervakar panelplatsen.

När du klickar på programmen i panelen öppnas en ny flik för programmen. Du kan bara komma åt programmen när de har statusEn Körs och endast jobbägaren har behörighet att komma åt programmen. Om du tränar på flera noder kan du välja den nod som du vill interagera med.

Skärmbild av information om den högra panelen för interaktiva jobb. Informationsinnehållet varierar beroende på användarens data.

Det kan ta några minuter att starta jobbet och de utbildningsprogram som angavs när jobbet skapades.

Interagera med programmen

När du väljer på slutpunkterna att interagera när jobbet, du tas till användarcontainern under din arbetskatalog, där du kan komma åt din kod, indata, utdata och loggar. Om du stöter på problem när du ansluter till programmen kan du hitta de interaktiva funktions- och programloggarna från system_logs-interactive_capability> under fliken Utdata + loggar.

Skärmbild av interaktiva jobb på panelen interaktiva loggar.

  • Du kan öppna en terminal från Jupyter Lab och börja interagera i jobbcontainern. Du kan också iterera direkt i ditt träningsskript med Jupyter Lab.

    Skärmbild av jupyter lab-innehållspanelen för interaktiva jobb.

  • Du kan också interagera med jobbcontainern i VS Code. Om du vill koppla ett felsökningsprogram till ett jobb under jobböverföringen och pausa körningen navigerar du hit.

    Kommentar

    Privata länkaktiverade arbetsytor stöds för närvarande inte när du interagerar med jobbcontainern med VS Code.

    Skärmbild av vs code-panelen för interaktiva jobb när den öppnas. Detta visar python-exempelfilen som skapades för att skriva ut två rader.

  • Om du har loggat tensorflow-händelser för ditt jobb kan du använda TensorBoard för att övervaka måtten när jobbet körs.

    Skärmbild av tensorboardpanelen för interaktiva jobb när den först öppnas. Den här informationen varierar beroende på kunddata

Avsluta jobb

När du är klar med den interaktiva utbildningen kan du också gå till sidan med jobbinformation för att avbryta jobbet, vilket frigör beräkningsresursen. Du kan också använda az ml job cancel -n <your job name> i CLI eller ml_client.job.cancel("<job name>") i SDK.

Skärmbild av alternativet Avbryt jobb för interaktiva jobb och dess plats för användarval

Koppla ett felsökningsprogram till ett jobb

Om du vill skicka ett jobb med ett kopplat felsökningsprogram och körningen har pausats kan du använda felsökning och VS Code (debugpy måste installeras i din jobbmiljö).

Kommentar

Privata länkaktiverade arbetsytor stöds för närvarande inte när du kopplar ett felsökningsprogram till ett jobb i VS Code.

  1. Under jobböverföring (antingen via användargränssnittet, CLI eller SDK) använder du felsökningskommandot för att köra python-skriptet. Följande skärmbild visar till exempel ett exempelkommando som använder felsökning för att bifoga felsökningsprogrammet för ett tensorflow-skript (tfevents.py kan ersättas med namnet på ditt träningsskript).

Skärmbild av konfiguration av interaktiva jobb för felsökning

  1. När jobbet har skickats ansluter du till VS Code och väljer det inbyggda felsökningsprogrammet.

    Skärmbild av platsen för interaktiva jobb för öppna felsökningsprogram på den vänstra panelen

  2. Använd felsökningskonfigurationen "Fjärranslutning" för att ansluta till det skickade jobbet och skicka sökvägen och porten som du konfigurerade i kommandot för jobböverföring. Du hittar även den här informationen på sidan med jobbinformation.

    Skärmbild av slutförda jobb i interaktiva jobb

    Skärmbild av interaktiva jobb, lägg till en fjärranslutningsknapp

  3. Ange brytpunkter och gå igenom jobbkörningen på samma sätt som i ditt lokala arbetsflöde för felsökning.

    Skärmbild av platsen för en exempelbrytpunkt som anges i Visual Studio Code-redigeraren

Kommentar

Om du använder felsökning för att starta jobbet körs inte jobbet om du inte bifogar felsökningsprogrammet i VS Code och kör skriptet. Om detta inte är klart reserveras beräkningen tills jobbet avbryts.

Nästa steg