Sekėjai

Ieškoti šiame dienoraštyje

2024 m. birželio 26 d., trečiadienis

ChatGPT and software development

 

"I tried using ChatGPT to help with a common coding issue when working on CRM applications and merging customer data sources. I asked ChatGPT, “Given two lists of names, write Python code to find near matches of the names and compute a similarity ranking.” ChatGPT replied, “You can use the FuzzyWuzzy library in Python to find near matches and compute similarity rankings between names.” ChatGPT then displayed code to interface with FuzzyWuzzy and included examples to help demonstrate results.

Now, there are debates about how smart ChatGPT is, whether it can write secure code, and why it should attribute its sources. But ChatGPT’s effectiveness is causing many people to consider how generative AI will change people’s creative work in marketing, journalism, the arts, and, yes, software development.

“Generative AI, such as ChatGPT and AlphaCode, are sure to have an immense impact on how organizations develop applications—from enabling faster and more efficient development cycles to optimizing customer experiences—over the next three years, says David Ben Shabat, vice president of research and development at Quali. “As AI continues to develop, businesses will be able to use these models to optimize customer experiences, increase customer engagement, reduce customer service costs, as well as overall cost reduction.”

Arjun Chandar, CEO at IndustrialML, adds, “Generative AI tools will make it at least marginally more feasible to use machine learning for a broader array of applications across a larger number of domains.”

ChatGPT already reached more than 100 million users, and Microsoft is embedding it in Bing and other Office applications. Other generative AI competitors in search platforms include Google’s Bard, and developers can test code-generating AIs such as AlphaCode and GitHub Copilot. A wave of SaaS products, tech platforms, and service providers are integrating ChatGPT capabilities. For example, Gigster introduced ChatGPT integration support, and Equally AI launched Flowy, a ChatGPT-powered web accessibility platform.

Don’t fear AI; leverage its capabilities

If you’re a software developer or a devops engineer, you might experiment with generative AI tools and wonder what it will mean for your profession and how it will change your work.

“Generative AI tools such as ChatGPT have caused a stir among the developer community,” says Marko Anastasov, cofounder of Semaphore CI/CD. “Some fear it will take their jobs, while others prefer to ignore it. Both attitudes are mistaken because, as we’ve seen with GitHub Copilot, a developer who integrates AI into their workflow can experience an incredible productivity boost.”

Take my CRM example—it saved me time by identifying a useful Python library and showing me a coding example. The process accelerated my discovery, but I would still have to do the work to evaluate the results and integrate the code into my application.

Generative AI lacks context

Remember when you installed your first Amazon Alexa or Google Assistant in your home, expecting it to be as smart and responsive as Star Trek’s computer? It helps you do simple tasks such as set alarms, add items to shopping lists, share the weather forecast, or update you on today’s news, but it’s unlikely to answer more complex questions accurately.

Dan Conn, developer advocate at Sonatype, believes it’s important to understand the context of how AI algorithms are developed and trained. “Since the technology is based on data and not human intelligence, sometimes the program can sound coherent, but it does not provide any critically informed responses,” he says.

For now, generative AI can help fill gaps and accelerate implementing solutions within the software development life cycle, but we will still need developers to drive appropriate experiences. “ChatGPT misses the ability to understand the human context of computing to do programming well, “says Conn. “Software engineers can add more details about the purpose of the software they’re creating and the people who will be using it. It’s not just a bunch of programs sprung together with regurgitated code.”

Shanea Leven, cofounder and CEO of CodeSee, says, “Engineering requires a lot that AI can’t replace, like context, making it near impossible for AI to load into a single model, train that model, and incorporate the predictive capability of humans who understand what’s going to be necessary in five years. There are a lot of big picture decisions unique to different businesses that AI will simply never be able to handle.”

Five years ago, I wrote a post asking, Can AI learn to code? Today, it can provide coding examples; tomorrow AI models might help engineers answer questions about architectures and design patterns. It is hard to see whether one AI can replace all the knowledge, innovation, and decisions that software development teams make when crafting delightful customer experiences and productive workflows.

A productivity tool like low code

Software development has many generational improvements in languages and platforms. Many tools increase a developer’s productivity, improve code quality, or automate aspects of the delivery pipeline. For example, low-code and no-code platforms can help organizations build and modernize more applications, but we’re still coding microservices, developing customer-facing applications, and building machine learning capabilities.

Suresh Sambandam, CEO of Kissflow, acknowledges, “Just as low code and no code will not outright replace traditional developers and software engineers, OpenAI will provide useful tools that eliminate repetitive tasks and accelerate time to market for app development.”

One paradigm shift is from keyword-based search tools to ones that process natural language queries and respond with useful answers. Sambandam continues, “By entering queries in plain conversational language, ChatGPT can automatically generate boilerplate or suggested sample code for problems much faster than any developer can write and experiment with code from scratch.”

“We’re going to see tremendous change, not only in productivity but in how we get our information faster,” adds Leven. “AI will enable developers to supercharge the repetitive decisions that engineers must make, such as generalized questions about a language.”

Improving conversational applications

Developers must also consider how ChatGPT raises the bar on user expectations. The keyword search box in your app that isn’t personalized and responds with disappointing results will need an upgrade. As more people are amazed by ChatGPT’s capabilities, employees and customers will expect AI search experiences with natural language queries and apps that answer questions.

“Generative AIs hold a ton of promise in search and customer service areas,” says Josh Perkins, field CTO at Ahead. “These models demonstrate the reality of complex natural language search and contextual memory, enabling answers to even nuanced prompts conversationally without a customer service representative, very reasonably and likely soon.”

Generative AI can also improve workflow and support hyperautomation, connecting people, automation, and AI capabilities. I think about smart health applications, where doctors can ask AI questions about a patient’s condition, the AI responds with similar patients, and the app provides options for doctors that automate ordering procedures or prescriptions.

“Generative AI technologies have a huge opportunity to be used to automate and enhance various aspects of application development and customer experience design,” says Sujatha Sagiraju, chief product officer at Appen.

But using generative AI to drive systematic changes to workflows isn’t easy. In the book Power and Prediction: The Disruptive Economics of Artificial Intelligence, the authors contrast the difference between point solutions (like finding code examples) with AI system solutions that will require more substantial transformations.

Sagiraju notes, “Generative AI still requires real-person feedback for fine-tuning to ensure the model is working accurately. The data and humans behind these models will define their successes and failures.”

Select optimal domains and test for quality responses

So, where can software developers leverage generative AI today? It’s easy to see its usefulness in finding coding examples or improving code quality. But product managers and their agile development teams should validate and test their use cases before plugging a generative AI into their application.

“The risk of an unmanaged AI producing inaccurate or incomplete content can, at best, be somewhat annoying, and in other cases can be incredibly costly, especially when used for customer service or when representing a brand,” says Erik Ashby, head of product at Helpshift. “Although initially there will be a temptation to let AI stand alone in generating content, such as an unmonitored chatbot, brands will quickly realize that to manage this risk, they need to employ a combined strategy where humans and AI work together.”

ChatGPT is more than a shiny object, but like any new technology, software developers and architects will need to validate where, when, and how to use generative AI capabilities." [1]

1. ChatGPT and software development. Sacolick, Isaac.  InfoWorld.com; San Mateo (Feb 27, 2023).

 

„ChatGPT“ ir generuojančio dirbtinio imtelekto mokymosi ir tyrimų įrankiai

Abstraktas

 

 

 

 "Daugelis sudėtingų mašininio mokymosi (ML) produktų pastaruoju metu buvo pristatyti, kaip bendrosios paskirties turinio kūrimo įrankiai. Daugiausia dėmesio sulaukė ChatGPT, pokalbių robotas, veikiantis didelės kalbos modelio (LLM) GPT-3.5 pagrindu. LLM yra ML modelis, kuris atlieka įvairias natūralios kalbos apdorojimo užduotis, pvz., atpažįsta, apibendrina, verčia ir atsako į klausimus bei tęsia pokalbį. Jo tinklams reikalingas didžiulis duomenų kiekis, o ML yra dirbtinio intelekto (AI) polaukis, nes „ChatGPT“ išveda naują turinį, kaip atsaką į vartotojo užklausą, todėl jis laikomas generatyvaus AI įrankiu.

 

 

 

 Pilnas tekstas

 

 

 

 Daugelis sudėtingų mašininio mokymosi (ML) produktų neseniai buvo pristatyti, kaip bendrosios paskirties turinio kūrimo įrankiai. Daugiausia dėmesio sulaukė „ChatGPT“ – pokalbių robotas, veikiantis didelio kalbos modelio (LLM) GPT-3.5.

 

 

 

 LLM yra ML modelio tipas, kuris atlieka įvairias natūralios kalbos apdorojimo užduotis, tokias, kaip teksto atpažinimas, apibendrinimas, vertimas ir generavimas; atsakymas į klausimus; ir tęsia pokalbį. LLM, sukurtas, naudojant gilaus mokymosi metodus, o jo dirbtinių neuroninių tinklų mokymui reikia didžiulio duomenų kiekio. Gilus mokymasis yra ML tipas, o ML yra AI polaukis. Kadangi „ChatGPT“ pateikia naują turinį kaip atsakymą į vartotojo užklausą, jis laikomas įrankiu generatyvaus AI srityje.

 

 

 

 GENERATYVUS AI TURINIUI KURTI

 

 

 

 „ChatGPT“ pristatė „OpenAI“ 2022 m. lapkričio 30 d. ir greitai tapo žymiu reiškiniu. Per 5 dienas daugiau, nei milijonas, žmonių užsiregistravo išbandyti šį produktą. Netrukus po to, 2023 m. vasario 7 d., „Google“ pristatė jos „ChatGPT“ tipo pokalbių robotą „Bard“. „Bard“ sukurta remiantis „Google“ natūralios kalbos apdorojimo modeliu, vadinamu LaMDA, kuris reiškia dialogo taikomųjų programų kalbos modelį. Maždaug tuo pačiu metu „Microsoft“ pristatė naują „Bing“ pokalbių robotą, kaip „ChatGPT“ ir „Bard“ konkurentą.

 

 

 

 „ChatGPT“ ir kiti panašūs AI valdomi pokalbių robotai ne tik sukuria į žmogų panašų pokalbį, bet ir gali rašyti esė, kompiuterio kodus, receptus, maisto prekių sąrašus ir net eilėraščius. Nors netrukus įvairių pokalbių robotų atsakymuose buvo rasta netikslumų ir nenuoseklumo (Bobby Allyn, „Microsoft's New AI Chatbot Has Been Saying Some 'Crazy and Unhinged Things“, NPR, 2023 m. kovo 2 d.; npr.org/2023/03/ 02/1159895892/ai-micro soft-bing-chatbot), bendrai sutariama, kad šie AI powered pokalbių robotai veikia žymiai geriau, nei bet kurie ankstesni, ne AI pokalbių robotai.

 

 

 

 Nors „ChatGPT“, „Bard“ ir „Bing“ pokalbių robotai generuoja tekstus, kaip atsakymą, DALL-E, „Midjourney“ ir „Imagen“ sukuria vaizdus, kaip išvestį, kai vartotojas įveda tekstą. „Make-A-Video“ sukuria vaizdo įrašą, atitinkantį tekste pateiktą aprašymą, o „MusicLM“ sukuria muzikos kūrinį. 

 

 

„GitHub Copilot“ išveda kompiuterio kodą ir yra naudojamas, kaip programavimo įrankis.

 

 

 Šie AI įrankiai vis sparčiau pristato generatyvųjį AI visuomenei.

 

 

 

 KAS YRA GENERATYVUS AI?

 

 

 

 Generatyvusis dirbtinis intelektas reiškia gilaus mokymosi algoritmus, kurie generuoja naują turinį įvairiomis formomis, pavyzdžiui, tekstu, vaizdu, vaizdo įrašu, garsu ir kompiuterio kodu. Taip sukurtas naujas turinys gali būti atsakymas į orientacinį klausimą, žingsnis po žingsnio iškeltos problemos sprendimas arba mašininiu būdu sukurtas meno kūrinys, jei būtų galima paminėti keletą galimybių.

 

 

 

 Kaip ir bet kuriam gilaus mokymosi modeliui, kuriant generatyvųjį AI modelį reikia daug duomenų, skirtų mokymui, daug parametrų ir didelės apdorojimo galios. Didžiausias GPT-3 modelis buvo parengtas, naudojant 499 milijardus duomenų žetonų, gautų iš maždaug 45 terabaitų suglaudinto paprasto teksto, o tai atitinka maždaug 1 milijoną pėdų knygų lentynos ploto arba ketvirtadalį visos Kongreso bibliotekos kolekcijos ( Tomas B. Brownas ir kt., „Kalbos modeliai mažai mokosi“, arXiv, 2020 m. liepos 22 d. doi.org/10.48550/ arXiv.2005.14165). Didžiausias GPT-3 modelis turi 175 milijardus parametrų ir jį apmokyti prireiktų 355 metų ir 4,6 milijono JAV dolerių, net ir naudojant pigiausią GPU debesį rinkoje ir jei tam naudotumėte vieną GPU (Chuan Li, „OpenAI GPT- 3 kalbos modelis: techninė apžvalga“, „The Lambda Deep Learning Blog“, 2020 m. birželio 3 d.; lambdalabs.com/blog/demystify ing-gpt-3). Šie pavyzdžiai rodo, kad generatyvaus AI modelio, pvz., GPT-3, kūrimas reikalauja daug išteklių ir brangiai kainuoja.

 

 

 

 AI MOKSLINIAMS TYRIMAMS

 

 

 

 AI ir ML paskatino labai galingų bendrosios paskirties turinio kūrimo įrankių atsiradimą. Kita sritis, kuri aktyviai pritaikė ML, yra moksliniai tyrimai. Puikus pavyzdys šioje srityje yra „DeepMind“ sukurta AI programa „AlphaFold“. „DeepMind“ yra įmonė, sukūrusi „AlphaGo“, kuri 2016 m. atsidūrė antraštėse „Go“ rungtynėse su 18 kartų pasaulio čempionu Lee Sedolu. („Google“ priklauso „DeepMind“ nuo 2014 m.)

 

 

 

 „AlphaFold“ naudoja baltymo genetinę seką, kaip įvestį ir įspūdingai tiksliai numato jo 3D baltymo struktūrą. 2021 m. liepą DeepMind paskelbė, kad naudojo AlphaFold, kad nuspėtų beveik kiekvieno žmogaus organizmo pagaminto baltymo struktūrą, taip pat visus 20 kitų plačiai ištirtų organizmų, tokių, kaip pelės ir bakterija E. coli (Ewen Callaway), „proteomas“. , „DeepMind's AI Predicts Structures for a Vast Trove of Proteins“, Nature vol. 595, Nr. 7869, 2021 m. liepos 22 d. Proteomas reiškia visą baltymų rinkinį, kurį gamina organizmas, rūšis ar tam tikras organas.

 

 

 

 Bendradarbiaudama su Europos molekulinės biologijos laboratorijos Europos bioinformatikos institutu (EMBL-EBI; ebi.ac. uk), „DeepMind“ išleido daugiau nei 200 milijonų AlphaFold baltymų struktūros prognozių ir padarė jas laisvai prieinamas mokslo bendruomenei. Tai apėmė beveik visus mokslui žinomus kataloguotus baltymus. Tai, ką daro AlphaFold, yra reikšminga, nes baltymai dažnai susilanksto į sudėtingas 3D struktūras ir netgi sudaro kompleksus vienas su kitu, kad atliktų tam tikras funkcijas ląstelėje. Dėl šios priežasties gebėjimas numatyti 3D proteomų formą yra gana vertingas gyvybės mokslų tyrimams, juo labiau vaistų atradimams.

 

 

 

 Kaip dar vieną AI ir ML taikymo moksliniams tyrimams pavyzdį, evoliucijos biologai taikė veido atpažinimą, vieną iš plačiausiai naudojamų ML metodų, kad galėtų sekti šimpanzes gamtoje, o tai nėra lengvai pasiekiama kitomis priemonėmis (Daniel Schofield ir kt. Šimpanzės veidų atpažinimas iš vaizdo įrašų laukinėje gamtoje, naudojant gilųjį mokymąsi“, „Science Advances, 5 tomas, nr. 9, 2019 m. rugsėjo 4 d.; doi.org/10.1126/sciadv.aaw0736). Be gyvybės mokslų ir evoliucinės biologijos, ML metodai taip pat taikomi daugelyje kitų disciplinų, tokių kaip antropologija, astronomija, astrofizika, chemija, evoliucinė biologija, inžinerija ir meteorologija.

 

 

 

 GENERATYVUS AI BIBLIOTEKŲ VARTOTOJUI

 

 

 

 Ką šie ML ir generatyvaus AI pokyčiai reiškia bibliotekoms ir bibliotekų vartotojams? Pirma, užklausos dėl neegzistuojančių citatų patenka į mano bibliotekos bibliotekininkus, nes studentai bando gauti ChatGPT cituojamus straipsnius, nesuvokdami, kad jie buvo tiesiog sugalvoti. Tačiau studentai nėra vieninteliai, kurie tampa ChatGPT vadinamųjų „haliucinacijų“ aukomis (Karen Weise ir Cade Metz, „When A.I. Chatbots Hallucinate“, „The New York Times“, 2023 m. gegužės 1 d.; nytimes.com/2023/ 05/01/business/ ai-chatbots-hallucination.html). Neseniai vykusioje teismo byloje Roberto Mata prieš Avianca Inc. teisininkas citavo neegzistuojančias bylas, kurias gavo iš ChatGPT (Benjamin Weiser, „Štai kas atsitinka, kai jūsų advokatas naudojasi ChatGPT“, „The New York“). Times, 2023 m. gegužės 27 d.; nytimes.com/2023/05/27/ny region/avianca-airline-lawsuit-chatgpt.html).

 

 

 

 Kaip generatyvus AI modelis, „ChatGPT“ savo atsakymus sudaro remdamasi statistine tikimybe iš duomenų, kuriais remdamasi yra mokomas. Šia prasme „ChatGPT“ iš esmės yra automatinio užbaigimo programa, nors ir labai sudėtinga. 

 

 

 

Tai reiškia, kad „ChatGPT“ negali atskirti to, kas atrodo tikra, nuo to, kas tikra. 

 

 

 

Nepaisant to, atrodo, kad studentai jau naudoja ChatGPT savo akademinėms užduotims, o instruktoriai, tokie, kaip Siva Vaidhyanathan, puikiai žino šią tendenciją („My Students Use AI to Cheat. Here's Why It's a Teachable Moment“, „The Guardian“, gegužės mėn. 19, 2023; theguardian.com/technology/2023/may/18/ai-cheatingteaching-chatgpt-students-college-universitv).

 

 

 

 Neseniai „Educause“ atliktoje apklausoje apie generatyvųjį dirbtinį intelektą, į kurią gauta 1 070 išsamių atsakymų, 54 % respondentų nurodė, kad generatyvusis AI daro įtaką aukštajam mokslui, o mokymosi ir mokymo pagalbą pasirinko, kaip labiausiai paveiktas sritis (Nicole Muscanell ir Jenay Robert, „EDUCAUSE QuickPoll“. Rezultatai: ar ChatGPT parašė šią ataskaitą?). Kadangi šaltinių patikrinimas ir originalus bei nepriklausomas mąstymas yra labai svarbūs akademiniam ir mokslinių tyrimų vientisumui, reikėtų atidžiai apsvarstyti nekritišką ChatGPT ir kitų panašių generuojamųjų AI įrankių naudojimą mokymosi, mokymo ir tyrimų tikslais.

 

 

 

 Galbūt, kaip atsakymą į netikrus šaltinius, kuriais išviliojo generatyvūs AI pokalbių robotai, JK projektas CORE (Connecting Repositories) (core.ac.uk) išleido CORE-GPT, kuris atsako į vartotojo klausimą remiantis informacija iš CORE korpuso, kurio 34 mln. yra 34 mln. atviro priėjimo mokslinių straipsnių kartu su jų citatomis. Kaip ir COREGPT, scite (scite.ai) taip pat pateikia atsakymą su aiškiomis nuorodomis į paskelbtus mokslinius tyrimus.

 

 

 

 Kiti AI produktų, kuriais siekiama palengvinti mokymąsi ir tyrimus, pavyzdžiai yra Consensusas,  „Elicit“ ir „Librari“. „Consensusas“ (consensus.app) yra dirbtinio intelekto sukurtas paieškos įrankis, kuris sprendžia tyrimo klausimus ir randa atitinkamus atsakymus, ištraukdamas ir distiliuodamas išvadas iš mokslinių tyrimų darbų Semantic Scholar duomenų bazėje. Elicit (elicit.org) yra AI tyrimo pagalbos įrankis, kuriuo siekiama paspartinti literatūros peržiūros procesą, pateikiant atitinkamų straipsnių sąrašą ir jų santraukų santraukas, būdingas vartotojo užklausai. „Librari“ (librari.app) žada atsakyti į faktinius klausimus, padėti atlikti mokyklinius darbus, teikti skaitytojų konsultavimo paslaugas ir atlikti kūrybines užduotis, pagrįstas atsakymais, surinktais daugiau, nei 300 000, žmonių sukurtų raginimų.

 

 

 

 Nors generatyvūs dirbtinio intelekto produktai iki šiol pasiekė puikių rezultatų, jie dar nėra subrendę. Kaip aiškiai nurodyta Elicit DUK puslapyje (elicit.org/faq), LLM gali nepastebėti straipsnio niuansų arba neteisingai suprasti, ką reiškia skaičius. Nepaisant to, didžiulis susidomėjimas šiomis priemonėmis rodo, kad jos bus gana greitai pritaikytos ir panaudotos įvairiai mokslinei ir mokslinių tyrimų veiklai. Tikėtina, kad sužinosime daugiau apie tai, kam šie generatyvieji dirbtinio intelekto įrankiai yra tinkami ir kame mes, žmonės, esame geresni.

 

 

 

 Bohyunas Kimas (bhkim@umich.edu) yra Mičigano universiteto bibliotekos asocijuotasis universiteto bibliotekininkas, atsakingas už bibliotekų informacines technologijas." [1]

 

 

 

 

1. ChatGPT and Generative AI Tools for Learning and Research. Kim, Bohyun. Computers in Libraries; Westport Vol. 43, Iss. 6,  (Jul/Aug 2023): 41-42.