Skip to content

Latest commit

 

History

History
171 lines (121 loc) · 11.6 KB

File metadata and controls

171 lines (121 loc) · 11.6 KB

Tervetuloa AI Toolkit for VS Codeen

AI Toolkit for VS Code kokoaa yhteen erilaisia malleja Azure AI Studio Catalogista ja muista katalogeista, kuten Hugging Facesta. Työkalupaketti helpottaa yleisiä kehitystehtäviä generatiivisten AI-työkalujen ja mallien avulla AI-sovellusten rakentamisessa tarjoamalla:

  • Aloitusmallien etsintä ja kokeiluympäristö.
  • Mallin hienosäätö ja päättely paikallisilla laskentaresursseilla.
  • Etähienosäätö ja päättely Azure-resursseilla.

Asenna AI Toolkit for VSCode

AIToolkit FineTuning

[Private Preview] Yhden klikkauksen käyttöönotto Azure Container Appsille mallin hienosäädön ja päättelyn suorittamiseksi pilvessä.

Hypätään nyt AI-sovelluskehitykseesi:

Paikallinen kehitys

Valmistelut

  1. Varmista, että isäntäkoneeseen on asennettu NVIDIA-ajuri.
  2. Suorita huggingface-cli login, jos käytät HF:ää datasetin hyödyntämiseen.
  3. Olive-avaimen asetusten selitykset kaikelle, mikä muuttaa muistin käyttöä.

Aktivoi Conda

Koska käytämme WSL-ympäristöä, joka on jaettu, sinun täytyy aktivoida conda-ympäristö manuaalisesti. Tämän vaiheen jälkeen voit suorittaa hienosäädön tai päättelyn.

conda activate [conda-env-name] 

Pelkkä perusmallin hienosäätö

Jos haluat kokeilla pelkkää perusmallia ilman hienosäätöä, voit suorittaa tämän komennon conda-aktivoinnin jälkeen.

cd inference

# Web browser interface allows to adjust a few parameters like max new token length, temperature and so on.
# User has to manually open the link (e.g. http://0.0.0.0:7860) in a browser after gradio initiates the connections.
python gradio_chat.py --baseonly

Mallin hienosäätö ja päättely

Kun työtila on avattu kehityssäiliössä, avaa terminaali (oletuspolku on projektin juurihakemisto) ja suorita alla oleva komento hienosäätääksesi LLM-mallia valitulla datasetillä.

python finetuning/invoke_olive.py 

Välietapit ja lopullinen malli tallennetaan models-kansioon.

Seuraavaksi suorita päättely hienosäädetyllä mallilla keskusteluissa console-ikkunassa, web-selaimessa tai prompt flowssa.

cd inference

# Console interface.
python console_chat.py

# Web browser interface allows to adjust a few parameters like max new token length, temperature and so on.
# User has to manually open the link (e.g. http://127.0.0.1:7860) in a browser after gradio initiates the connections.
python gradio_chat.py

Jos haluat käyttää prompt flowta VS Codessa, katso tämä Pikaopas.

Mallin hienosäätö

Lataa seuraava malli laitteesi GPU:n saatavuuden mukaan.

Aloittaaksesi paikallisen hienosäätösession QLoRA:lla, valitse katalogistamme malli, jota haluat hienosäätää.

Alusta(t) GPU käytettävissä Mallin nimi Koko (GB)
Windows Kyllä Phi-3-mini-4k-directml-int4-awq-block-128-onnx 2.13GB
Linux Kyllä Phi-3-mini-4k-cuda-int4-onnx 2.30GB
Windows
Linux
Ei Phi-3-mini-4k-cpu-int4-rtn-block-32-acc-level-4-onnx 2.72GB

Huom Mallien lataamiseen ei tarvitse Azure-tiliä.

Phi3-mini (int4) -mallin koko on noin 2–3 GB. Latausaika riippuu verkkoyhteytesi nopeudesta.

Aloita valitsemalla projektille nimi ja sijainti. Seuraavaksi valitse malli mallikatalogista. Sinua pyydetään lataamaan projektipohja. Voit sitten klikata "Configure Project" säätääksesi asetuksia.

Microsoft Olive

Käytämme Olivea suorittamaan QLoRA-hienosäätöä PyTorch-mallille katalogistamme. Kaikki asetukset on esiasetettu oletusarvoihin optimoimaan hienosäätöprosessi paikallisesti muistinkäytön kannalta, mutta niitä voi säätää tarpeidesi mukaan.

Hienosäätöesimerkit ja -resurssit

[Private Preview] Etäkehitys

Esivaatimukset

  1. Jotta voit suorittaa mallin hienosäädön etäisessä Azure Container App -ympäristössä, varmista, että tilauksessasi on riittävästi GPU-kapasiteettia. Lähetä tukipyyntö pyytääksesi tarvittavaa kapasiteettia sovelluksellesi. Lisätietoja GPU-kapasiteetista
  2. Jos käytät yksityistä datasettiä HuggingFacessa, varmista, että sinulla on HuggingFace-tili ja olet luonut käyttöoikeustunnuksen
  3. Ota käyttöön Etähienosäätö ja Päättely -ominaisuus AI Toolkit for VS Codessa
    1. Avaa VS Code -asetukset valitsemalla File -> Preferences -> Settings.
    2. Siirry Extensions ja valitse AI Toolkit.
    3. Valitse "Enable Remote Fine-tuning And Inference" -vaihtoehto.
    4. Käynnistä VS Code uudelleen, jotta muutos astuu voimaan.

Etäkehitysprojektin perustaminen

  1. Suorita komentopaletti AI Toolkit: Focus on Resource View.
  2. Siirry Model Fine-tuning -kohtaan päästäksesi mallikatalogiin. Anna projektille nimi ja valitse sijainti koneellasi. Klikkaa sitten "Configure Project".
  3. Projektin konfigurointi
    1. Vältä "Fine-tune locally" -vaihtoehdon valitsemista.
    2. Olive-konfiguraatioasetukset tulevat näkyviin esiasetettuina oletusarvoina. Muokkaa ja täytä asetukset tarpeidesi mukaan.
    3. Jatka Generate Project -vaiheeseen. Tämä vaihe hyödyntää WSL:ää ja luo uuden Conda-ympäristön, valmistaen tulevia päivityksiä varten, jotka sisältävät Dev Containerit.
  4. Klikkaa "Relaunch Window In Workspace" avataksesi etäkehitysprojektisi.

Huom: Projekti toimii tällä hetkellä joko paikallisesti tai etänä AI Toolkit for VS Codessa. Jos valitset projektin luomisvaiheessa "Fine-tune locally", se toimii vain WSL:ssä ilman etäkehitysmahdollisuutta. Jos et valitse "Fine-tune locally", projekti rajoittuu etäiseen Azure Container App -ympäristöön.

Azure-resurssien käyttöönotto

Aloittaaksesi sinun täytyy ottaa käyttöön Azure-resurssi etähienosäätöä varten. Tee tämä suorittamalla komentopaletti AI Toolkit: Provision Azure Container Apps job for fine-tuning.

Seuraa käyttöönoton etenemistä tulostuskanavalla näkyvän linkin kautta.

[Valinnainen] Huggingface-tokenin lisääminen Azure Container Appin salaisuuksiin

Jos käytät yksityistä HuggingFace-datasettiä, aseta HuggingFace-token ympäristömuuttujaksi, jotta manuaalista kirjautumista Hugging Face Hubiin ei tarvita. Voit tehdä tämän komennolla AI Toolkit: Add Azure Container Apps Job secret for fine-tuning. Tällä komennolla voit asettaa salaisuuden nimeksi HF_TOKEN ja käyttää HuggingFace-tokeniasi salaisuuden arvona.

Hienosäädön käynnistäminen

Käynnistä etähienosäätö suorittamalla komento AI Toolkit: Run fine-tuning.

Järjestelmä- ja konsolilokeja voit tarkastella Azure-portaalissa tulostuspaneelissa näkyvän linkin kautta (lisäohjeita View and Query Logs on Azure). Voit myös tarkastella konsolilokeja suoraan VSCode:n tulostuspaneelissa suorittamalla komennon AI Toolkit: Show the running fine-tuning job streaming logs.

Huom: Työ saattaa olla jonossa resurssien puutteen vuoksi. Jos lokia ei näy, suorita komento AI Toolkit: Show the running fine-tuning job streaming logs, odota hetki ja suorita komento uudelleen yhdistääksesi lokivirtaan.

Tämän prosessin aikana QLoRAa käytetään hienosäätöön, ja se luo LoRA-adaptereita mallin päättelyä varten. Hienosäädön tulokset tallennetaan Azure Filesiin.

Päättelypisteen käyttöönotto

Kun adapterit on koulutettu etäympäristössä, käytä yksinkertaista Gradio-sovellusta mallin kanssa vuorovaikutukseen. Samoin kuin hienosäätöprosessissa, sinun täytyy ottaa käyttöön Azure-resurssit etäpäättelyä varten suorittamalla komentopaletti AI Toolkit: Provision Azure Container Apps for inference.

Oletuksena tilauksen ja resurssiryhmän tulisi olla samat kuin hienosäätöä varten. Päättely käyttää samaa Azure Container App -ympäristöä ja pääsee käsiksi malliin ja mallin adapteriin, jotka on tallennettu Azure Filesiin hienosäätövaiheessa.

Päättelypisteen käyttöönotto

Jos haluat muokata päättelykoodia tai ladata päättelymallin uudelleen, suorita komento AI Toolkit: Deploy for inference. Tämä synkronoi viimeisimmän koodisi Azure Container Appiin ja käynnistää replikan uudelleen.

Kun käyttöönotto on onnistuneesti suoritettu, pääset päättely-API:iin klikkaamalla "Go to Inference Endpoint" -painiketta VSCode-ilmoituksessa. Tai web-API-päätepiste löytyy ACA_APP_ENDPOINT-kentästä tiedostossa ./infra/inference.config.json ja tulostuspaneelista. Nyt voit arvioida mallia tämän päätepisteen kautta.

Edistynyt käyttö

Lisätietoja etäkehityksestä AI Toolkitin kanssa löydät dokumentaatiosta Fine-Tuning models remotely ja Inferencing with the fine-tuned model.

Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattikäännöksissä saattaa esiintyä virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäiskielellä tulee pitää virallisena lähteenä. Tärkeissä tiedoissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.