AGI ja tulevaisuuden AI

Suuret kielen mallit Scikit-learnin kanssa: Kattava opas Scikit-LLM:ään

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Yhdistämällä edistyneet kielen prosessointikapasiteetit, kuten ChatGPT, monipuolisen ja laajasti käytetyn Scikit-learn-kehyksen kanssa, Scikit-LLM tarjoaa ainutlaatuisen valikoiman tekstidatan monimutkaisuuksien tutkimiseen.

Scikit-LLM, joka on saatavilla virallisella GitHub-arkistossaan, edustaa yhdistymistä – edistyneen tekoälyä suurista kielen malleista (LLM) kuten OpenAI:n GPT-3.5 ja Scikit-learnin käyttäjäystävällisen ympäristön. Tämä Python-paketti, joka on suunniteltu erityisesti tekstianalyysiin, tekee edistyneen luonnollisen kielen prosessoinnin saataville ja tehokkaaksi.

Miksi Scikit-LLM?

Niille, jotka ovat tuttuja Scikit-learnin maisemasta, Scikit-LLM tuntuu luonnolliselta edistysaskelelta. Se säilyttää tutun API:n, jolloin käyttäjät voivat hyödyntää funktioita kuten .fit(), .fit_transform() ja .predict(). Sen kyky integroida arvioijat Sklearn-pipelineen osoittaa sen joustavuutta, mikä tekee siitä eduksi niille, jotka haluavat parantaa koneoppimishankkeitaan viimeisimmän kielen ymmärtämisen avulla.

Tässä artikkelissa tutustumme Scikit-LLM:ään, sen asennuksesta sen käytännön soveltamiseen erilaisiin tekstianalyysitehtäviin. Opit luomaan sekä valvottuja että nollasuorituskykyisiä tekstiluokittelijoita ja tutustut edistyneisiin ominaisuuksiin kuten tekstin vektorointiin ja luokitteluun.

Scikit-learn: Koneoppimisen perusta

Ennen kuin siirrymme Scikit-LLM:ään, käymme lyhyesti sen perustaa, Scikit-learniä, läpi. Koneoppimisen kuuluisa nimi, Scikit-learn, on tunnettu kattavasta algoritmisten sovellusten sarjasta, yksinkertaisuudesta ja käyttäjäystävällisyydestä. Kattamalla tehtävien kirjon regressiosta klusterointiin, Scikit-learn on monien data-analyytikkojen käytössä oleva työkalu.

Rakennettu Pythonin tieteellisten kirjastojen (NumPy, SciPy ja Matplotlib) perustalle, Scikit-learn erottuu sen integraatiosta Pythonin tieteellisen pinon kanssa ja sen tehokkuudesta NumPy-taulukoiden ja SciPy-harvien matriisien kanssa.

Scikit-learnin ydin on yhdenmukaisuus ja helppokäyttöisyys. Riippumatta siitä, minkä algoritmin valitset, vaiheet säilyvät aina samana – tuonti luokkaa, käyttäminen ‘fit’-menetelmää datasi kanssa ja soveltaminen ‘predict’ tai ‘transform’ mallin hyödyntämiseksi. Tämä yksinkertaisuus vähentää oppimiskäyrää, mikä tekee siitä ihanteellisen aloittelijoille koneoppimisen parissa.

Ympäristön määritys

Ennen kuin siirrymme yksityiskohtiin, on tärkeää määritellä työympäristö. Tässä artikkelissa Google Colab on valittu alustaksi, tarjoten helposti saatavissa olevan ja tehokkaan ympäristön Python-koodin suorittamiseen.

Asennus

%%capture
!pip install scikit-llm watermark

<p>%load_ext watermark
%watermark -a &quot;your-username&quot; -vmp scikit-llm

API-avainsten hankkiminen ja määritys

Scikit-LLM vaatii OpenAI API-avaimen perustuvien kielen mallien käyttämiseen.

from skllm.config import SKLLMConfig

<p>OPENAI_API_KEY = &quot;sk-****&quot;
OPENAI_ORG_ID = &quot;org-****&quot;</p>

<p>SKLLMConfig.set_openai_key(OPENAI_API_KEY)
SKLLMConfig.set_openai_org(OPENAI_ORG_ID)</p>

Nollasuorituskykyinen GPT-luokittelija

ZeroShotGPTClassifier on Scikit-LLM:n merkittävä ominaisuus, joka hyödyntää ChatGPT:n kykyä luokitella tekstiä kuvaavien etikettien perusteella ilman perinteisen mallin koulutuksen tarvetta.

Kirjastojen ja aineiston tuonti

from skllm import ZeroShotGPTClassifier
from skllm.datasets import get_classification_dataset

<p>X, y = get_classification_dataset()

Datan valmistelu

Datan jakaminen koulutus- ja testijoukkoihin:

def training_data(data):
return data[:8] + data[10:18] + data[20:28]

<p>def testing_data(data):
return data[8:10] + data[18:20] + data[28:30]</p>

<p>X_train, y_train = training_data(X), training_data(y)
X_test, y_test = testing_data(X), testing_data(y)</p>

Mallin koulutus ja ennustaminen

ZeroShotGPTClassifier:in määrittely ja koulutus:

clf = ZeroShotGPTClassifier(openai_model=&quot;gpt-3.5-turbo&quot;)
clf.fit(X_train, y_train)

predicted_labels = clf.predict(X_test)

Arviointi

Mallin suorituskyvyn arviointi:

from sklearn.metrics import accuracy_score

<p>print(f&quot;Tarkkuus: {accuracy_score(y_test, predicted_labels):.2f}&quot;)</p>

Tekstin tiivistäminen Scikit-LLM:llä

Tekstin tiivistäminen on kriittinen ominaisuus luonnollisen kielen prosessoinnissa, ja Scikit-LLM hyödyntää GPT:n taituruutta tässä alueessa GPTSummarizer-moduulinsa kautta. Tämä ominaisuus erottuu sopeutumiskyvystään, jolloin sitä voidaan käyttää sekä itsenäisenä työkaluna tiivisteiden luomiseen että esikäsittelyvaiheena laajemmissa työvirroissa.

Sovellukset GPTSummarizerilla:

  1. Itsenäinen tiivistäminen: GPTSummarizer voi itsenäisesti luoda tiivisteitä pitkistä asiakirjoista, mikä on arvokasta nopeaan sisällön analyysiin tai olennaisen tiedon poimimiseen suurista tekstimääristä.
  2. Esikäsittely muille toimille: Työvirroissa, jotka sisältävät useita tekstianalyysivaiheita, GPTSummarizer voidaan käyttää tekstidatan tiivistämiseen. Tämä vähentää laskentakuormaa ja yksinkertaa myöhempiä analyysivaiheita ilman olennaisen tiedon menettämistä.

Tekstin tiivistämisen toteutus:

Tekstin tiivistämisen toteutus Scikit-LLM:llä käsittää:

  1. GPTSummarizer:in ja relevantin aineiston tuonti.
  2. GPTSummarizer:in instanssin luominen määritetyillä parametreilla, kuten max_words, jolla voidaan hallita tiivisteiden pituutta.
  3. fit_transform-menetelmän soveltaminen tiivisteiden luomiseen.

On tärkeää muistaa, että max_words-parametri toimii ohjeistuksena eikä tiukkaa raja-arvona, varmistaen, että tiivisteet säilyttävät merkityksensä ja relevanttisuutensa, vaikka ne ylittävät hieman määritetyn sanamäärän.

Scikit-LLM:n laajemmat vaikutukset

Scikit-LLM:n ominaisuudet, kuten tekstiluokittelu, tiivistäminen, vektorointi, kääntäminen ja sen sopeutuvuus käsittelemään merkintämätöntä dataa, tekevät siitä kattavan työkalun moninaisiin tekstianalyysitehtäviin. Tämä joustavuus ja helppokäyttöisyys palvelevat sekä aloittelijoita että kokeneita ammattilaisia tekoäly- ja koneoppimisen alalla.

Potentialaaliset sovellukset:

  • Asiakaspalautteen analyysi: Tekstiluokittelu asiakaspalautteeseen kuuluviin kategorioiden, kuten positiiviseen, negatiiviseen tai neutraaliin, joka voi informoida asiakaspalvelun parantamista tai tuotekehitysstrategioita.
  • Uutisartikkeleiden luokittelu: Uutisartikkeleiden lajittelu eri aiheisiin henkilökohtaistettujen uutisvirtojen tai trendianalyysin vuoksi.
  • Kielien kääntäminen: Asiakirjojen kääntäminen monikansallisten operatiivien tai henkilökohtaisen käytön vuoksi.
  • Asiakirjojen tiivistäminen: Nopea ymmärtäminen pitkien asiakirjojen olennaisesta sisällöstä tai lyhyempien versioiden luominen julkaisemista varten.

Scikit-LLM:n edut:

  • Tarkkuus: Osoitettu tehokkuus tehtävissä kuten nollasuorituskykyisessä tekstiluokittelussa ja tiivistämisessä.
  • Nopeus: Sopiva reaaliaikaisiin prosessointitehtäviin sen tehokkuuden vuoksi.
  • Skalautuvuus: Kyky käsitellä suuria tekstimääriä, mikä tekee siitä ihanteellisen suurten datan sovelluksiin.

Johtopäätös: Scikit-LLM:n omaksuminen edistyneeseen tekstianalyysiin

Yhteenvetona, Scikit-LLM on voimakas, monipuolinen ja helppokäyttöinen työkalu tekstianalyysin alalla. Sen kyky yhdistää suuria kielen malleja perinteisiin koneoppimisen työvirtoihin, yhdistettynä sen avoimen lähdekoodin luonteeseen, tekee siitä arvokkaan resurssin tutkijoille, kehittäjille ja liiketoiminnalle. Olipa kyse sitten asiakaspalvelun parantamisesta, uutistrendien analyysistä, monikielisen viestinnän helpottamisesta tai olennaisen tiedon poimimisesta laajoista asiakirjoista, Scikit-LLM tarjoaa tehokkaan ratkaisun.

Olen viettänyt viimeiset viisi vuotta uppoutumalla kiinnostavaan koneoppimisen ja syvän oppimisen maailmaan. Minun intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut AI/ML. Minun jatkuva uteliaisuuteni on myös ohjannut minun luontaisen kielen prosessoinnin pariin, jota haluan tutkia tarkemmin.