Share via


LLMOps parancssori folyamattal és GitHubdal

A nagyméretű nyelvi műveletek vagy az LLMOps a hatékony gyors tervezés és az LLM-alapú alkalmazások fejlesztésének és üzembe helyezésének sarokköveivé váltak. Mivel az LLM-alapú alkalmazások iránti kereslet egyre nő, a szervezeteknek összetartó és leegyszerűsített folyamatra van szükségük a teljes életciklusuk kezeléséhez.

Az Azure Machine Tanulás lehetővé teszi, hogy integrálható legyen a GitHubbal az LLM által integrált alkalmazásfejlesztési életciklus gyors folyamattal történő automatizálásához.

Az Azure Machine Tanulás Prompt Flow leegyszerűsített és strukturált megközelítést biztosít az LLM-alapú alkalmazások fejlesztéséhez. Jól definiált folyamata és életciklusa végigvezeti a folyamatok létrehozásának, tesztelésének, optimalizálásának és üzembe helyezésének folyamatán, amely a teljesen működőképes LLM-alapú megoldások létrehozásában csúcsosul.

LLMOps parancssori folyamat funkciói

A parancssori folyamattal rendelkező LLMOps egy "LLMOps-sablon és útmutató", amely segít az LLM-alapú alkalmazások parancssori folyamattal történő összeállításában. Ez a tevékenység a következő jellemzőkkel bír:

  • Központosított kód üzemeltetése: Ez az adattár támogatja több folyamat kódjának a parancssori folyamaton alapuló üzemeltetését, és egyetlen adattárat biztosít az összes folyamat számára. Gondoljon erre a platformra egyetlen adattárként, ahol az összes parancssori folyamatkód található. Ez olyan, mint egy tár a folyamatokhoz, így könnyen megtalálhatja, elérheti és együttműködhet a különböző projekteken.

  • Életciklus-kezelés: Minden folyamat saját életciklust élvez, így zökkenőmentes átmenetet tesz lehetővé a helyi kísérletezésről az éles üzembe helyezésre. Képernyőkép a folyamatról.

  • Variant and Hyperparameter Experimentation: Kísérletezzen több variánssal és hiperparaméterrel, és egyszerűen értékelje ki a folyamatvariánsokat. A variánsok és a hiperparaméterek olyanok, mint a recept összetevői. Ez a platform lehetővé teszi a variációk különböző kombinációinak kipróbálását egy folyamat több csomópontja között.

  • Több üzembehelyezési cél: Az adattár támogatja a folyamatok üzembe helyezését Azure-alkalmazás Szolgáltatások, Kubernetes, Azure Managed Computes konfiguráción keresztül, biztosítva, hogy a folyamatok igény szerint méretezhetők legyenek. Emellett a Flow számítási munkamenettel és a Dockert támogató célplatformra és operációs rendszerre való üzembe helyezéshez szükséges folyamatokkal infusált Docker-rendszerképeket is létrehoz. Képernyőkép a végpontokról.

  • A/B üzembe helyezés: Zökkenőmentesen implementálhatja az A/B üzemelő példányokat, így könnyedén összehasonlíthatja a különböző folyamatverziókat. A webhelyek hagyományos A/B-teszteléséhez hasonlóan ez a platform is megkönnyíti az A/B üzembe helyezését a gyors folyamat érdekében. Ez azt jelenti, hogy könnyedén összehasonlíthatja egy folyamat különböző verzióit valós környezetben, hogy megállapítsa, melyik teljesít a legjobban. Képernyőkép az üzemelő példányokról.

  • Több-a-többhöz adathalmaz-/folyamatkapcsolatok: Az egyes standard és kiértékelési folyamatokhoz több adathalmazt is elférnek, így sokoldalúságot biztosítva a folyamattesztelés és -kiértékelés során. A platform úgy lett kialakítva, hogy minden folyamathoz több adathalmazt is elférjen.

  • Feltételes adatok és modellregisztráció: A platform egy új verziót hoz létre az adathalmazhoz az Azure Machine Tanulás Data Assetben, és csak akkor fut a modellregisztrációs adatbázisban, ha változás történik bennük, máskülönben nem.

  • Átfogó jelentéskészítés: Részletes jelentések készítése az egyes változatkonfigurációkhoz, így megalapozott döntéseket hozhat. Részletes metrikagyűjteményt, kísérletet és variáns-tömeges futtatást biztosít az összes futtatáshoz és kísérlethez, lehetővé téve az adatvezérelt döntéseket a csv-ben és a HTML-fájlokban. Képernyőkép a folyamatvariánsok jelentéséről.Képernyőkép a metrikák jelentéséről.

Egyéb testreszabási funkciók:

  • Kínál BYOF (bring-your-own-flow). Teljes platform az LLM-alapú alkalmazásokhoz kapcsolódó több használati eset fejlesztéséhez.

  • Konfigurációalapú fejlesztést kínál. Nem kell átfogó kazánlemez-kódot írni.

  • Lehetővé teszi a gyors kísérletezést és a kiértékelést helyileg és a felhőben is.

  • Jegyzetfüzeteket biztosít a kérések helyi kiértékeléshez . Függvénytárat biztosít a helyi kísérletezéshez.

  • Végponttesztelés a folyamaton belül az üzembe helyezés után annak rendelkezésre állásának és felkészültségének ellenőrzéséhez.

  • Opcionális human-in-loop lehetőséget biztosít a parancssori metrikák üzembe helyezés előtti ellenőrzéséhez.

A parancssori folyamattal rendelkező LLMOps egyszerű és összetett LLM-alapú alkalmazásokhoz is kínál képességeket. Az alkalmazás igényei szerint testre szabható.

LLMOps-szakaszok

Az életciklus négy különböző szakaszból áll:

  • Inicializálás: Egyértelműen határozza meg az üzleti célt, gyűjtsön össze releváns adatmintákat, hozzon létre egy alapszintű parancssori struktúrát, és hozzon létre egy folyamatot, amely javítja a képességeit.

  • Kísérletezés: Alkalmazza a folyamatot a mintaadatokra, értékelje a kérés teljesítményét, és szükség szerint finomítsa a folyamatot. Folyamatosan iterál, amíg meg nem felel az eredményeknek.

  • Kiértékelés és pontosítás: A folyamat teljesítményének mérése egy nagyobb adatkészlet használatával, a kérés hatékonyságának kiértékelése és a pontosítások ennek megfelelően. Haladjon a következő szakaszba, ha az eredmények megfelelnek a kívánt szabványoknak.

  • Üzembe helyezés: Optimalizálja a folyamatot a hatékonyság és a hatékonyság érdekében, üzembe helyezze azt éles környezetben, beleértve az A/B üzemelő példányt, figyelje a teljesítményét, gyűjtsön felhasználói visszajelzéseket, és használja ezeket az információkat a folyamat továbbfejlesztéséhez.

Ennek a strukturált módszertannak a betartásával a Prompt Flow lehetővé teszi a folyamatok magabiztos fejlesztését, szigorú tesztelését, finomhangolását és üzembe helyezését, ami robusztus és kifinomult AI-alkalmazások létrehozásához vezet.

Az LLMOps Prompt Flow-sablon kódelső megközelítéssel formalizálja ezt a strukturált módszertant, és segít az LLM által infusált alkalmazások létrehozásában a Prompt Flow-hoz kapcsolódó eszközökkel és folyamatokkal. Számos funkciót kínál, többek között a központosított kódkezelést, az életciklus-kezelést, a Variant és a Hiperparaméter-kísérletezést, az A/B üzembe helyezést, az összes futtatás és kísérlet jelentéskészítését.

A cikk adattára az LLMOps parancssori folyamatsablonnal elérhető .

LLMOps folyamatfolyamat

Képernyőkép az LLMOps parancssori folyamatáról.

  1. Ez az inicializálási szakasz. Itt a folyamatok fejlesztése, az adatok előkészítése és összeállítása, valamint az LLMOpshoz kapcsolódó konfigurációs fájlok frissítése történik.
  2. Miután helyi fejlesztést végzett a Visual Studio Code és a Prompt Flow bővítmény használatával, a rendszer lekéréses kérelmet küld a szolgáltatáságból a fejlesztési ágba. Ez a buildérvényesítési folyamat végrehajtását eredményezi. Emellett végrehajtja a kísérletezési folyamatokat is.
  3. A lekéréses kérelem manuális jóváhagyása és a kód egyesítése a fejlesztési ágba
  4. A lekéréses kérelemnek a fejlesztési ágba való egyesítése után a rendszer végrehajtja a fejlesztői környezetHEZ tartozó CI-folyamatot. A kísérletezési és a kiértékelési folyamatokat sorrendben hajtja végre, és a folyamat többi lépésétől eltekintve regisztrálja a folyamatokat az Azure Machine Tanulás Registryben.
  5. A CI-folyamatok végrehajtása után a CD-eseményindító biztosítja az Azure Machine Tanulás Registryből származó standard folyamatot üzembe helyező CD-folyamat végrehajtását, Tanulás online végpontként, valamint az üzembe helyezett folyamaton végrehajtott integrációs és füstteszteket.
  6. A kiadási ág a fejlesztési ágból jön létre, vagy egy lekéréses kérelmet ad ki a fejlesztési ágból a kiadási ágba.
  7. A rendszer manuálisan hagyja jóvá a lekéréses kérelmet, és a kód egyesül a kiadási ágba. A lekéréses kérelemnek a kiadási ágba való egyesítése után a rendszer végrehajtja a prod környezet CI-folyamatát. A kísérletezési és a kiértékelési folyamatokat sorrendben hajtja végre, és a folyamat többi lépésétől eltekintve regisztrálja a folyamatokat az Azure Machine Tanulás Registryben.
  8. A CI-folyamatok végrehajtása után a CD-eseményindító biztosítja az Azure Machine Tanulás Registryből származó standard folyamatot üzembe helyező CD-folyamat végrehajtását, Tanulás online végpontként, valamint az üzembe helyezett folyamaton végrehajtott integrációs és füstteszteket.

Innen elsajátíthatja az LLMOps parancssori folyamatát az általunk biztosított végpontok közötti minták követésével, amelyek segítenek az LLM-alapú alkalmazások parancssori folyamat és GitHub használatával történő összeállításában. Elsődleges célja, hogy segítséget nyújtson az ilyen alkalmazások fejlesztéséhez a gyors folyamat és az LLMOps képességeinek felhasználásával.

Tipp.

Javasoljuk, hogy ismerje meg, hogyan integrálhatja az LLMOps-t a parancssori folyamattal.

Fontos

A parancssori folyamat jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszintű szerződés nélkül érhető el, és éles számítási feladatokhoz nem ajánlott. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Előfeltételek

  • Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot. Próbálja ki az Azure Machine Tanulás ingyenes vagy fizetős verzióját.
  • Egy Azure Machine Learning-munkaterület.
  • A git a helyi gépen fut.
  • A GitHub a forrásvezérlő adattára.

Feljegyzés

A Git 2.27-es vagy újabb verziójára van szükség. A Git-parancs telepítésével kapcsolatos további információkért tekintse meg https://git-scm.com/downloads és válassza ki az operációs rendszert

Fontos

A cikkben szereplő CLI-parancsokat Bash használatával teszteltük. Ha másik rendszerhéjat használ, hibák léphetnek fel.

A parancssori folyamat beállítása

A Prompt Flow kapcsolati erőforrást használ olyan végpontokhoz való csatlakozáshoz, mint az Azure OpenAI, az OpenAI vagy az Azure AI Search, és számítási munkamenetet használ a folyamatok végrehajtásához. Ezeket az erőforrásokat létre kell hozni, mielőtt végrehajtanák a folyamatokat a Parancssori folyamatban.

Kapcsolatok beállítása a parancssori folyamathoz

Csatlakozás-folyamatok a parancssori portál felhasználói felületén vagy a REST API használatával hozhatók létre. Kövesse az irányelveket , és hozzon létre kapcsolatokat a parancssori folyamathoz.

A hivatkozásra kattintva további információkat tudhat meg a kapcsolatokról.

Feljegyzés

A mintafolyamatok az "aoai" kapcsolatot használják, és a végrehajtásukhoz létre kell hozni az "aoai" nevű kapcsolatot.

A GitHub-adattár beállítása

Az LLMOps-folyamat GitHub-adattár használatával történő beállításához több lépést is el kell végezni.

Elágazás és az adattár konfigurálása

Kövesse az irányelveket egy elágaztatott adattár létrehozásához a GitHub-szervezetben. Ez az adattár két ágat használ – main a development kód-előléptetésekhez és a folyamatok végrehajtásához a bennük lévő kódmódosítások helyett.

Hitelesítés beállítása a GitHub és az Azure között

Kövesse az irányelveket a korábban létrehozott szolgáltatásnév használatához, valamint a GitHub-adattár és az Azure Services közötti hitelesítés beállításához.

Ez a lépés konfigurál egy GitHub-titkos kulcsot, amely a szolgáltatásnév adatait tárolja. Az adattár munkafolyamatai a titkos név használatával olvashatják el a kapcsolati információkat. Ez segít konfigurálni a GitHub munkafolyamatának lépéseit az Azure-hoz való automatikus csatlakozáshoz.

Az adattár klónozása

Kövesse az irányelveket egy új helyi adattár létrehozásához.

Ez segít létrehozni egy új funkcióágat a fejlesztési ágból, és beépíteni a módosításokat.

A folyamatok tesztelése

Kövesse az irányelveket a folyamatok teszteléséhez. A lépések a következők:

  1. Pr(lekéréses kérelem) létrehozása egy szolgáltatáságból a fejlesztési ágba.
  2. A PR-folyamatnak automatikusan végre kell hajtania az ágházirend-konfiguráció eredményeként.
  3. A lekéréses kérelem ezután egyesül a fejlesztési ágban.
  4. A rendszer végrehajtja a társított "dev" folyamatot. Ez teljes CI- és CD-végrehajtást eredményez, és a meglévő Azure Machine-Tanulás-végpontok kiépítését vagy frissítését eredményezi.

A tesztkimeneteknek az itt láthatóhoz hasonlónak kell lenniük.

Helyi végrehajtás

A helyi végrehajtás képességeinek kihasználásához kövesse az alábbi telepítési lépéseket:

  1. Klónozza az adattárat: Először klónozza a sablon adattárát a GitHub-adattárból.
git clone https://github.com/microsoft/llmops-promptflow-template.git
  1. Env-fájl beállítása: hozzon létre .env fájlt a legfelső mappaszinten, és adja meg az említett elemek adatait. Adjon hozzá annyi kapcsolatnevet, amennyit csak szükséges. Az adattár összes folyamat példája az AzureOpenAI nevű aoaikapcsolatot használja. Adjon hozzá egy sort aoai={"api_key": "","api_base": "","api_type": "azure","api_version": "2024-02-01"} az api_key és api_base frissített értékeivel. Ha a folyamatokban további, eltérő nevű kapcsolatokat használ, azokat ennek megfelelően kell hozzáadni. Jelenleg az AzureOpenAI-t használja a támogatott szolgáltatóként.

experiment_name=
connection_name_1={ "api_key": "","api_base": "","api_type": "azure","api_version": "2023-03-15-preview"}
connection_name_2={ "api_key": "","api_base": "","api_type": "azure","api_version": "2023-03-15-preview"}
  1. Készítse elő a helyi conda vagy virtuális környezetet a függőségek telepítéséhez.

python -m pip install promptflow promptflow-tools promptflow-sdk jinja2 promptflow[azure] openai promptflow-sdk[builtins] python-dotenv

  1. Hozza vagy írja be a folyamatokat a sablonba az itt található dokumentáció alapján.

  2. A local_execution mappában megadott példákhoz hasonló Python-szkripteket írhat.

Következő lépések