Uyilo lwe-AI: Ukwakha iiNkqubo zeSoftware eziQinisekileyo kwiXesha lokuSebenza ngoBukrelekrele | B4N1

Uyilo lwe-AI: Ukwakha iiNkqubo zeSoftware eziQinisekileyo kwiXesha lokuSebenza ngoBukrelekrele

9 months ago · b4n1 Tiempo de lectura: 6 min

Intshayelelo

Ukufika kwe-Artificial Intelligence (AI) iye yaguqula indlela iinkqubo zesoftware eziyilwe, ziphuhliswe, kwaye zisetyenziswe. Njengoko itekhnoloji ye-AI iqhubeka nokukhula kwaye ikhula, abayili besoftware bajongene nomceli mngeni wokudibanisa obu buchule kwiinkqubo zabo ngelixa beqinisekisa ukomelela, ukuqina, kunye nokusebenza kakuhle. Kweli nqaku, siza kuphonononga izicwangciso eziphucukileyo zokuyila iinkqubo zesoftware ye-AI-powered, sigxile kwimiba ephambili yokuqina, ukuqina, kunye nokwenza ngcono ukusebenza.

Ukubaluleka kokuPhila kwiiNkqubo ze-AI-Powered

Ukomelela kuyinkalo ebalulekileyo yoyilo lwesoftware, ngakumbi kumxholo we-AI-powered systems. Iinkqubo ze-AI zintsonkothile ngokwendalo kwaye ziqhele ukwenza iimpazamo, ezinokuthi zibe neziphumo ezibalulekileyo ngokwexesha lenkqubo, ilahleko yedatha, kunye nokonakala kwegama. Inkqubo eyomeleleyo ye-AI-powered kufuneka ikwazi ukumelana nokubuyisela ekungaphumelelini, iqinisekise ukuphazamiseka okuncinci kwimisebenzi yezoshishino.

IziCwangciso zoKwakha iiNkqubo ze-AI-Powered Resilient

  1. Ukunyamezelwa kweFault: Ukuphunyezwa kweendlela zokunyamezela iimpazamo, ezifana nokuphindaphinda kunye nokungaphumeleli, kunokunceda ekuqinisekiseni ukuba iinkqubo ze-AI-powered ziyaqhubeka nokusebenza nangona kukho ukungaphumeleli kwecandelo.
  2. Ukufunyanwa kwempazamo kunye noLungiso: Ukuphumeza ukufumanisa iimpazamo ezinamandla kunye neendlela zokulungiswa kunokunceda ukuchonga nokunciphisa iimpazamo kwiinkqubo ze-AI-powered, ukunciphisa umngcipheko wokunciphisa inkqubo kunye nokulahleka kwedatha.
  3. **Ukubeka iliso rhoqo kunye neNgxelo **: Ukubeka iliso okuqhubekayo kunye neendlela zokunika ingxelo zinganceda ukuchonga nokujongana nemiba kwiisistim ze-AI-powered, ukuqinisekisa ukuba zihlala zisebenza kwaye zisebenza ngokugqibeleleyo.

Umzekelo: INkqubo ye-AI-Enamandla okunyamezela impazamo isebenzisa iRust

// Thatha ngaphandle amathala eencwadi afunekayo
sebenzisa i-std:: umsonto;
sebenzisa std::sync::{Arc, Mutex};

// Chaza isakhelo sokumela imodeli ye-AI
yakha i-AiModel {
    imodeli: Arc<Mutex<f64>>,
}

// Chaza umsebenzi wokuqeqesha imodeli ye-AI
fn train_model(imodeli: &Arc<Mutex<f64>>) {
    // Ukulinganisa uqeqesho imodeli ye-AI
    intambo::lala(std::ixesha::Ubude bexesha::ukusuka_imizuzwana(5));
    *imodeli.tshixa().unwrap() = 0.5;
}

// Chaza umsebenzi ukwenza uqikelelo usebenzisa imodeli ye-AI
fn make_prediction(imodeli: &Arc<Mutex<f64>>) -> f64 {
    // Linganisa ukwenza uqikelelo usebenzisa imodeli ye-AI
    intambo::lala(std::ixesha::Ubude bexesha::ukusuka_imizuzwana(2));
    *imodeli.tshixa().qhala ()
}

// Chaza umsebenzi wokudala isixokelelwano esinamandla se-AI
fn create_fault_tolerant_system () -> (AiModel, AiModel) {
    // Yenza imizekelo emibini yemodeli ye-AI
    vumela imodeli1 = Arc::intsha(Mutex::intsha(0.0));
    vumela imodeli2 = Arc::intsha(Mutex::intsha(0.0));

    // Qeqesha iimodeli ze-AI
    train_model(&model1);
    train_model(&model2);

    // Buyisela iimodeli ze-AI ezimbini
    (imodeli1, imodeli2)
}

fn eyona () {
    // Yenza inkqubo yokunyamezela i-AI-powered system
    vumela (imodeli1, imodeli2) = create_fault_tolerant_system ();

    // Yenza uqikelelo usebenzisa iimodeli ze-AI
    vumela uqikelelo1 = make_prediction(&model1);
    vumela uqikelelo2 = make_prediction(&model2);

    // Shicilela uqikelelo
    println!("Ingqikelelo 1: {}", ingqikelelo1);
    println!("Ingqikelelo 2: {}", ingqikelelo2);
}

Lo mzekelo ubonisa inkqubo ye-AI ene-fault-tolerant esebenzisa i-Rust, apho imizekelo emibini ye-AI imodeli yenziwa kwaye iqeqeshwe. Inkqubo inokuqhubeka nokusebenza nangona enye yeemodeli ze-AI ingaphumeleli, iqinisekisa ukuphazamiseka okuncinci kwimisebenzi yezoshishino.

Ukubaluleka koScalability kwiiNkqubo ze-AI-Powered

I-Scalability yenye inkalo ebalulekileyo yoyilo lwesoftware, ngakumbi kumxholo we-AI-powered systems. Iisistim ze-AI zifuna izibonelelo ezibalulekileyo zokubala ukuze kuqhutywe isixa esikhulu sedatha, nto leyo enokukhokelela ekuthotyweni kokusebenza kunye nemiba yokulinganisa. Inkqubo ene-scalable AI-powered system ifanele ikwazi ukuziqhelanisa nokutshintsha komthwalo womsebenzi kunye nomthamo wedatha, iqinisekisa ukusebenza kakuhle kunye nokuphendula.

IziCwangciso zoKwakha iiNkqubo ze-AI-Powered Scalable

  1. ** Ukulinganisa okuthe tye **: Ukusetyenziswa kweendlela zokulinganisa ezithe tye, ezifana nokulinganisa umthwalo kunye nokulinganisa ngokuzenzekelayo, kunokuncedisa ukuqinisekisa ukuba iinkqubo ze-AI-powered ziyakwazi ukulungelelanisa ukutshintsha komsebenzi kunye nomthamo wedatha.
  2. Ukukala okuthe nkqo: Ukuphumeza iindlela zokukala ngokuthe nkqo, ezinjengokuphucula i-hardware kunye neekhomponenti zesoftware, kunokuncedisa ekuqinisekiseni ukuba iisistim ze-AI-powered zinokujongana neemfuno ezandisiweyo zokubala.
  3. I-Computing esasazwayo: Ukusetyenziswa kweendlela zekhompyutha ezisasaziweyo, ezifana ne-data parallelism kunye ne-model parallelism, inokunceda ekuqinisekiseni ukuba iisistim ze-AI-powered zikwazi ukucubungula inani elikhulu ledatha ngaxeshanye.

Umzekelo: Inkqubo ye-AI-Powered Scalable usebenzisa iGo

// Thatha ngaphandle amathala eencwadi afunekayo
iphakheji engundoqo

ngenisa ngaphandle (
    "fmt"
    "sync"
)

// Chaza isakhelo sokumela imodeli ye-AI
chwetheza isakhelo se-AiModel {
    imodeli []float64
}

// Chaza umsebenzi wokuqeqesha imodeli ye-AI
func trainModel(imodeli *AiModel) {
    // Ukulinganisa uqeqesho imodeli ye-AI
    kuba i := uluhlu lwemodeli.imodeli {
        imodeli.imodeli[i] = 0.5
    }
}

// Chaza umsebenzi ukwenza uqikelelo usebenzisa imodeli ye-AI
func makePrediction(imodeli *AiModel) []float64 {
    // Linganisa ukwenza uqikelelo usebenzisa imodeli ye-AI
    uqikelelo := yenza([]float64, len(imodeli.model))
    kuba i := uluhlu loqikelelo {
        uqikelelo[i] = imodeli.imodeli[i]
    }
    buyisela uqikelelo
}

// Chaza umsebenzi wokudala inkqubo ye-AI ene-scalable
func createScalableSystem() (* AiModel, *sync.WaitGroup) {
    // Yenza imodeli entsha ye-AI
    imodeli := &AiModel{imodeli: yenza([]float64, 100)}

    // Qeqesha imodeli ye-AI
    trainModel(imodeli)

    // Yenza iqela lokulinda ukuvumelanisa imodeli ye-AI
    wg := &sync.WaitGroup{}
    wg.Yongeza(10)

    // Buyisela imodeli ye-AI kunye neqela lokulinda
    imodeli yokubuya, wg
}

func main() {
    // Yenza inkqubo ye-AI-powered scalable
    imodeli, wg := yenza iScalableSystem()

    // Yenza uqikelelo usebenzisa imodeli ye-AI ngokuhambelanayo
    ye i := 0; mna < 10; i++ {
        hamba func() {
            uqikelelo := makePrediction(imodeli)
            fmt.Println(izibikezelo)
            wg.Kwenziwe()
        }()
    }

    // Linda ukuba zonke iingqikelelo zigqitywe
    wg.Yima()
}

Lo mzekelo ubonisa inkqubo ye-AI-powered scalable usebenzisa i-Go, apho imodeli entsha ye-AI yenziwe kwaye iqeqeshwe. Inkqubo inokulungelelanisa ukutshintsha komsebenzi kunye nomthamo wedatha, ukuqinisekisa ukusebenza kakuhle kunye nokuphendula.

Ukubaluleka koPhuculo lokuSebenza kwiiNkqubo ze-AI-Powered

Ukulungiswa kokusebenza kubalulekile kwiinkqubo ze-AI-powered, njengoko kunokuchaphazela kakhulu ukuchaneka kunye nokusebenza kakuhle kweemodeli ze-AI. Iimodeli ze-AI zifuna izibonelelo ezibalulekileyo zokubala ukuze kuqhutywe isixa esikhulu sedatha, nto leyo enokukhokelela ekuthotyweni komsebenzi kunye nemiba yokulinganisa. Inkqubo ephuculweyo ye-AI kufuneka ikwazi ukucubungula idatha ngokufanelekileyo nangokuchanekileyo, iqinisekisa ukusebenza kakuhle kunye nokuphendula.

IziCwangciso zoKwakha iNtsebenzo-Eyenziwe iNkqubo ye-AI-Powered

  1. UkuPruna okuMfuziselo: Ukusetyenziswa kweendlela zokuthena iimodeli, ezinjengokususa iintsimbi ezingeyomfuneko kunye noqhagamshelo, kunokuncedisa ukunciphisa iimfuno zokubala zeemodeli ze-AI.
  2. I-Knowledge Distillation: Ukuphumeza iindlela zokuchithwa kolwazi, ezifana nokudlulisa ulwazi ukusuka kwimodeli ye-AI enkulu ukuya kwencinci, kunokuncedisa ukunciphisa iimfuno zokubala kwiimodeli ze-AI.
  3. Ubungakanani: Ukusetyenziswa kweendlela zokulinganisa ubungakanani, njengokunciphisa ukuchaneka kobunzima bemodeli ye-AI kunye nokusebenza, kunokuncedisa ukunciphisa iimfuno zokubala zeemodeli ze-AI.

Umzekelo: UkuSebenza-Eyenziwe iNkqubo ye-AI-Powered usebenzisa iPython

# Thatha ngaphandle amathala eencwadi afunekayo
ngenisa itotshi
ngenisa itotshi.nn njenge nn

# Chaza imodeli ye-AI elungiselelwe ukusebenza
iklasi ye-AiModel(nn.Module):
    def __init__(self):
        super(AiModel, self).__init__()
        self.fc1 = nn.Linear(784, 128) # 784 igalelo iimpawu, 128 iiyunithi ezifihliweyo
        self.fc2 = nn.Linear (128, 10) # 128 iiyunithi ezifihlakeleyo, 10 imveliso iimpawu

    def phambili(self, x):
        x = torch.relu(self.fc1(x)) # umsebenzi wokwenza kusebenze umaleko ofihlakeleyo
        x = self.fc2(x)
        imbuyekezo x

# Chaza umsebenzi wokuqeqesha imodeli ye-AI
def trainModel(imodeli, isixhobo, train_loader, optimizer, epoch):
    imodeli.train()
    ye-batch_idx, (idatha, ithagethi) kwi-ennumerate(train_loader):
        data, target = data.to(isixhobo), target.to(isixhobo)
        optimizer.zero_grad()
        imveliso = imodeli(data)
        ilahleko = nn.CrossEntropyLoss()(imveliso, ekujoliswe kuyo)
        ilahleko.umva()
        optimizer.step()
        ukuba batch_idx % 100 == 0:
            print(f'Epoch {epoch+1}, Batch {batch_idx+1}, Ilahleko: {loss.item()}')

# Chaza umsebenzi ukwenza uqikelelo usebenzisa imodeli ye-AI
def makePrediction(imodeli, isixhobo, test_loader):
    imodeli.eval()
    test_loss = 0
    echanekileyo = 0
    ngetotshi.no_grad():
        kwidatha, kujoliswe kuko test_loader:
            data, target = data.to(isixhobo), target.to(isixhobo)
            imveliso = imodeli(data)
            test_loss += nn.CrossEntropyLoss()(imveliso, ithagethi).into()
            _, iqikelelwe = itotshi.max(imveliso, 1)
            ichanekile += (iqikelelweyo == ithagethi). isixa (). Into ()

    ukuchaneka = kulungile / len(test_loader.dataset)
    buyisela ukuchaneka

# Chaza umsebenzi wokudala inkqubo ye-AI ephuculweyo
def createPerformanceOptimizedSystem():
    # Yenza imodeli entsha ye-AI
    imodeli = AiModel()

    # Qeqesha imodeli ye-AI
    isixhobo = torch.device("cuda:0" ukuba torch.cuda.is_available() enye "cpu")
    train_loader, test_loader = ... # uqeqesho lomthwalo kunye nedatha yokuvavanya
    isilungisi = torch.optim.SGD(model.parameters(), lr=0.01)
    ngexesha kuluhlu (10):
        trainModel(imodeli, isixhobo, train_loader, optimizer, epoch)

    # Yenza uqikelelo usebenzisa imodeli ye-AI
    ukuchaneka = makePrediction(imodeli, isixhobo, test_loader)
    imodeli yokubuya, ukuchaneka

# Yenza inkqubo ye-AI-esebenza kakuhle
imodeli, ukuchaneka = createPerformanceOptimizedSystem()
print(f'Ukuchaneka: {chaneka:.2f}')

Lo mzekelo ubonisa inkqubo ephuculweyo ye-AI esebenzisa i-Python, apho imodeli entsha ye-AI yenziwe kwaye iqeqeshwe. Inkqubo inokusebenza idatha ngokufanelekileyo nangokuchanekileyo, iqinisekisa ukusebenza kakuhle kunye nokuphendula.

Umboniso

Itshathi elandelayo ibonisa ukusebenza kwenkqubo ye-AI-powered ngokwemigaqo yokuchaneka kunye nexesha lokubala.

{
  "type": "umgca",
  "idatha": {
    "labels": ["Epoch 1", "Epoch 2", "Epoch 3", "Epoch 4", "Epoch 5"],
    "iiseti zedatha": [
      {
        "label": "Ukuchaneka",
        "idatha": [0.8, 0.85, 0.9, 0.92, 0.95],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "pointBackgroundColor": "rgba(255, 99, 132, 1)",
        "pointBorderColor": "#fff",
        "pointHoverBackgroundColor": "#fff",
        "pointHoverBorderColor": "rgba(255, 99, 132, 1)"
      },
      {
        "ileyibhile": "Ixesha lokubala",
        "idatha": [10, 8, 6, 4, 2],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "pointBackgroundColor": "rgba(54, 162, 235, 1)",
        "pointBorderColor": "#fff",
        "pointHoverBackgroundColor": "#fff",
        "pointHoverBorderColor": "rgba(54, 162, 235, 1)"
      }
    ]
  },
  "iinketho": {
    "isihloko": {
      "bonisa": yinyani,
      "text": "Ukusebenza kweNkqubo ye-AI-Powered"
    },
    "izikali": {
      "yAxes": [
        {
          "amanqaku": {
            "beginAtZero": yinyani
          }
        }
      ]
    }
  }
}

Le tshathi ibonisa ukusebenza kwenkqubo ye-AI-powered system ngokuchaneka kunye nexesha lokubala, ebonisa indlela inkqubo yokuphucula ngayo ixesha.

Isiphelo

uyilo lwe-AI lufuna ukuqonda okunzulu kwimiba ephambili yokuqina, ukuqina, kunye nokwenza ngcono ukusebenza. Ngokuphumeza izicwangciso eziphucukileyo zokwakha ukuqina, ukuhla, kunye nokusebenza kweenkqubo ze-AI-powered, abaphuhlisi banokuqinisekisa ukuba iinkqubo zabo ziyakwazi ukulungelelanisa ukuguqulwa komsebenzi kunye nomthamo wedatha, ukuqinisekisa ukusebenza kakuhle kunye nokuphendula. Imizekelo enikeziweyo kweli nqaku ibonisa indlela yokwakha ukunyamezela iimpazamo, ukuhla, kunye nokusebenza kakuhle kwe-AI-powered systems usebenzisa iRust, Go, kunye nePython.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn