Ieguvumi:
- Spēja izdrukāt Python kodu un rindiņu pa rindiņai saprast un pieņemt kodu datu tīrīšanai, konta automatizācijai un modelēšanai ar mākslīgo intelektu
- Spēja saprast, ka nepārbaudīts kods ir hipotēze, pārbaudīt katru kodu ar zināmu rezultātu un pārbaudīt vienības un malas gadījumus
- Spēja saprast, ka drošībai kritiskiem konta kodiem ir nepieciešama gan testēšana, gan pilnvarota inženiera pārbaude.
Mūsdienu ķīmijas inženierijas klusais dzinējs tagad ir Python (plaši izmantota, viegli apgūstama programmēšanas valoda). Sensoru datu tīrīšana, masas bilances automatizēšana, kinētiskā modeļa pielāgošana datiem, simtiem simulācijas rezultātu salīdzināšana, diagrammas izveidošana — tas viss aizņem stundas ar roku, bet sekundes ar dažām Python rindām. Šajā nodaļā jūs uzzināsiet, kā izmantot AI kā palīglīdzekli Python koda rakstīšanā, skaidrošanā un atkļūdošanā; Bet mēs uzzināsim, kāpēc katru saražoto kodu nevajadzētu izmantot bez pārbaudes un pārbaudes.
Ķīmijas inženieris parasti nav profesionāls programmatūras izstrādātājs; Šeit AI pievieno lielu jaudu. Inženieris saka: "Es gribu skriptu, kas to dara" un uzraksta AI melnrakstu. Bet šis princips paliek nemainīgs: AI rakstītais kods nav pareizs, jo tas izskatās pareizi; Tā ir hipotēze, kamēr tā nav pārbaudīta ar zināmu rezultātu. Klusa kļūda — nepareiza vienība, nepareizs indekss, nobīdīta formula — var radīt bīstamus rezultātus inženiertehniskajos aprēķinos.
Python ar AI ķīmijas inženierijā: soli pa solim
1. Skaidri definējiet darbu. Kas ir ievade (CSV, masīvs, vienādojums), kādai jābūt izvadei, kādās vienībās? Neskaidra uzvedne nozīmē sliktu kodu.
2. Pieprasiet koda uzmetumu. AI izveido skici ar atbilstošām bibliotēkām (pandas datiem, numpy skaitliskai apstrādei, matplotlib grafikiem, scipy optimizācijai/risinājumam).
3. Izprast bibliotēku un pieņēmumus. Lūdziet AI izskaidrot katru rindiņu un pieņēmumu (vienība, datu formāts, pieņemšana). Nepalaidiet kodu, kuru nesaprotat.
4. Pārbaude ar zināmu rezultātu. Palaidiet kodu, izmantojot vienkāršu piemēru, uz kuru jūs jau zināt atbildi. Bilances kodam ir jānorāda pareizs rezultāts piemērā, ko var atšifrēt ar roku.
5. Vienības un malas statusa kontrole. Ko kods dara malu gadījumos, piemēram, nulle, negatīvs, ļoti lielas vērtības, trūkst datu? Ķīmijas inženierijā vienības atteice ir klasiska katastrofa.
6. Pārbaudi rezultātu ar fiziku. Kods radīja skaitli — vai masa ir saglabāta, vai vērtība ir reāla? Tas, ka kods darbojas, nepierāda, ka rezultāts ir pareizs.
Padoms. Pieprasot kodu no AI, sakiet "komentāra rindā ierakstiet katra mainīgā lieluma vienību un skaidri norādiet ievades vienības". Ievērojama daļa ķīmiskās inženierijas kļūdu rodas no vienību sajaukšanas (bar/Pa, kg/g, °C/K); Vienību iegulšana kodā padara šīs kļūdas redzamas.
Nepārbaudīts kods ir hipotēze
AI rada vienmērīgu, funkcionālu kodu; Bet "strādā" un "pareizi" ir divas dažādas lietas. Kods var darboties bez kļūdām un radīt nepareizu skaitli: apzīmējuma kļūdu formulā, nobīdi (pa vienai) masīvā, nepareizu vienību konvertēšanu. Tātad zelta likums: katrs kods tiek pārbaudīts testa gadījumā, kur pareizā atbilde ir zināma neatkarīgi. Vienkāršs analītisks piemērs, roku aprēķins vai atsauces dati pierāda koda uzticamību. Nekādi inženiertehniskie lēmumi nedrīkst būt balstīti uz kodu, neizturot testēšanu.
Uzmanību: kodu, kas veic drošības, izmēru vai drošības aprēķinus, nevar uzskatīt par uzticamu tikai tāpēc, ka tas "darbojas". Drošībai kritiskie kontu kodi ir jāpārbauda ar zināmu rezultātu, un rezultāti ir neatkarīgi jāpārbauda pilnvarotam inženierim.
trīs mini futrāļi
1. gadījums — datu tīrīšanas automatizācija. Inženieris katru mēnesi manuāli tīrīja 3 mēnešus datus (apmēram 1,1 miljonu rindu) no 8 sensoriem. Pandas skripts, kas rakstīts ar AI, samazināja to līdz minūtēm. Inženieris vispirms pārbaudīja kodu nelielā, zināmā faila paraugā; pamanīja, ka viena kolonna ir parsēta nepareizi, to izlaboja un pēc tam piemēroja visiem datiem.
2. gadījums — klusuma skaļuma kļūda. YZ uzrakstīja kodu spiediena krituma aprēķinam, bet sajauca ievadi, pieņemot bar un formulu Pa. Kods darbojās bez kļūdām, taču rezultāts bija nepareizs par koeficientu 100 000. Inženieris pasūtījuma atšķirību uztvēra ar manuālas vadības aprēķinu. Pēc vienības komentāru pievienošanas kļūda tika precizēta un novērsta.
3. gadījums — pārbaude saglabāta. Viena komanda ieguva kodu no AI masas bilances risinātājam. Vispirms viņi to pārbaudīja divkomponentu, ar rokām šķīstošā paraugā; kods nepareizi aizvēra atpakaļcilpu un netika summēts. Kļūda tika konstatēta, pirms tā tika piemērota reālajam, sarežģītajam modelim. Bez pārbaudes kļūda izplatītos visos rezultātos.
Četras kopējamas veidnes
1) Datu analīzes koda projekts:
Jūsu loma: Python palīgs ķīmijas inženierijā. Uzdevums: [apraksts]. Ievade: [CSV/masīvs, kolonnas, VIENĪBAS]. Izvade: [kas, kurā vienībā].izmantojiet pandas/numpy. Kodā: (1) interpretējiet katra mainīgā lieluma vienību, (2) norādiet ievades pieņēmumus sākumā, (3) apstrādājiet malas gadījumus (trūkst datu, nulle). Es pārbaudīšu kodu ar zināmu piemēru; neizmantojiet maģiskos skaitļus, skaidri definējiet konstantes.
2) Koda skaidrojums un pārbaude:
Izskaidrojiet šo Python kodu rindiņu pa rindiņai: ko tas dara, kādus pieņēmumus tas izdara, kādas vienības tas sagaida. Iezīmējiet iespējamos kļūdu punktus (vienību apjukums, indeksa maiņa, dalīšana ar nulli, pārpilde). Iesakiet, kādu vienkāršu, zināmu testa gadījumu es varu izmantot, lai pārbaudītu šo kodu. Kods: [ielīmēt]
3) Testa iestatīšana ar zināmu rezultātu:
Uzrakstiet testa kopu, lai pārbaudītu šo funkciju: vismaz 3 vienkāršus gadījumus, uz kuriem atbilde ir zināma analītiski vai manuāli. Katram testam aprakstiet sagaidāmo rezultātu un to, kāpēc mēs sagaidām šādu rezultātu. Es nelietošu kodu reāliem datiem bez pārbaudes. Funkcija: [ielīmēt]
4) Atkļūdošana:
Šis kods sniedz šādu kļūdu/nepareizu rezultātu: [kļūdas ziņojums vai paredzamā vsactual output]. Uzskaitiet iespējamos cēloņus iespējamības secībā un pastāstiet man, kā pārbaudīt katru. Nesakiet tieši "Es to izlaboju"; Vispirms kopā pārbaudīsim galveno cēloni. Iesakiet arī vienības un pasūtījuma pārbaudi. Kods un dati: [ielīmēt]
Vāja uzvedne / spēcīga uzvedne
Vāja uzvedne:
Uzrakstiet man spiediena krituma aprēķina kodu.
Ievades formāts, mērvienība, vienādojums, nosacījums nav skaidrs. AI slēpj savus pieņēmumus, var sajaukt vienības.
Spēcīga uzvedne:
Jūsu loma: ķīmijas inženierijas Python palīgs. Uzdevums: berzes izraisīts spiediena kritums apļveida caurulē. Ievade: plūsmas ātrums [m3/s], diametrs [m], garums[m], blīvums [kg/m3], viskozitāte [Pa·s]. Izeja: spiediena kritums [Pa].Izmantojiet Darcy-Weisbach; Pārbaudiet plūsmas režīmu (Re) attiecībā uz berzes koeficientu. Komentējiet katru vienību, norādiet pieņēmumus (pilna slodze, stabila plūsma). Es pārbaudīšu kodu pret manuālu aprēķinu laminārā piemērā.
Atšķirība ir skaidra: ievades vienības, metode, izvades vienība un pārbaudes nolūks padara kodu uzticamu.
Lomu sadalījums Python lietošanā
bizness
AI loma
cilvēka lēmums
koda rakstīšana
Izveidojiet melnrakstu
Amata apraksts, vienības
Bibliotēkas izvēle
Ieteikums
Atbilstības apstiprinājums
Apraksts
rinda pēc rindas
Pieņemiet ar izpratni
pārbaudi
Testa komplekta ieteikums
Validācija ar zināmu rezultātu
Atkļūdošana
hipotēze, virziens
Pamatcēloņa apstiprinājums
Secinājums
Skaitļu ģenerēšana
Pārbaude ar fiziku
Biežas kļūdas
- Izmantojot kodu, to nepārbaudot. Darba kods nav pareizs kods; Tam nevar uzticēties, ja vien tas nav pārbaudīts ar zināmu rezultātu.
- Vienības atstājot nenoteiktas. Vienību apjukums ir visizplatītākā un bīstamākā kļūda ķīmijas inženierijā.
- Darbojas bez saprašanas. Neuzticieties rezultātiem, neizprotot AI rakstīto kodu pēc rindas.
- Apejot malu stāvokļus. Nulle, negatīvi, trūkstošie dati var klusi novest kodu pie nepareiza secinājuma.
- Drošības aprēķinu pamatojot tikai ar kodu. Drošībai kritiskiem kodiem ir nepieciešama pārbaude un neatkarīga autoritatīva pārbaude.
Rezumējot
AI ķīmiskajā inženierijā ar Python; Tas ir spēcīgs palīgs, kas izstrādā, izskaidro un nodrošina atkļūdošanas norādījumus datu tīrīšanai, grāmatvedības automatizācijai, modelēšanai un grafikai. Bet AI kods ir uzticams nevis tāpēc, ka tas izskatās pareizi, bet gan tāpēc, ka tas ir pārbaudīts ar zināmu rezultātu. Ir svarīgi precīzi norādīt vienības, saprast kodu, pārbaudīt malas gadījumus un pārbaudīt rezultātu ar fiziku; Drošībai kritiskiem aprēķiniem nepieciešama arī pilnvarota inženiera pārbaude.
Lietojumprogrammas uzdevums
Izvēlieties aprēķinu (piemēram, caurules spiediena kritumu vai divu komponentu masas līdzsvaru). Iegūstiet kodu no AI, izmantojot veidni “datu analīze/konta koda projekts”, skaidri norādiet vienības. Pēc tam pārbaudiet kodu manuāli atšifrējamā piemērā ar modeli "iestatīt testu ar zināmu rezultātu"; Ja rezultāts neatbilst, atrodiet galveno cēloni, izmantojot "atkļūdošanas" modeli.
kontrolsaraksts
- [ ] Esmu skaidri norādījis ievades/izvades vienības un metodi.
- [ ] Es sapratu kodu pēc rindiņas un redzēju tā pieņēmumus.
- [ ] Es pārbaudīju kodu zināmā/manuāli atšifrējamā piemērā.
- [ ] Es pārbaudīju malas gadījumus (nulle, negatīvs, trūkst datu).
- [ ] Es pārbaudīju rezultātu ar fiziku (masas saglabāšana, kārtība); Man arī ierēdnis apstiprināja drošības kontu.