Is there no fur­ther pro­gress in the IT industry without AI? What are the most sig­ni­fic­ant bene­fits and chal­lenges asso­ci­ated with the devel­op­ment of arti­fi­cial intel­li­gence? How can you use these tech­no­lo­gies respons­ibly in your work? We dis­cuss this with Bar­tosz Dziura, Lead Soft­ware Archi­tect, and Mar­cin Caryk, Lead Test Engin­eer at Codelab. 

“We can stay in deni­al and joke as new tools take their first, often awk­ward steps in the next tech­no­lo­gic­al revolu­tion. But a quarter of a cen­tury ago, many also doubted that the Inter­net and Google would become so indis­pens­able to most of us,” – shares Bar­tosz Dziura, Lead Soft­ware Archi­tect at Codelab, whose work uses AI to devel­op auto­mot­ive pro­jects. What does such work look like and what will the future of the IT industry look like with AI tech­no­logy evolving rapidly? 

AI in IT and auto­mot­ive: chal­lenges and threats

Experts Bar­tosz Dziura and Mar­cin Caryk dis­cuss work­ing for Codelab. 

You both work for Codelab in the auto­mot­ive industry. Bar­tosz as a Lead Soft­ware Archi­tect, and Mar­cin as a Lead Test Engin­eer. How do you use AI in your work? 

Bar­tosz Dziura: We primar­ily work in an industry where arti­fi­cial intel­li­gence, espe­cially machine learn­ing, plays a key role. Machine Learn­ing is heav­ily used in advanced driver assist­ance sys­tems, such as autonom­ous emer­gency brak­ing, lane assist­ant, auto­pi­lot or driver mon­it­or­ing (for example assess­ing levels of drowsi­ness, fatigue, main­tain­ing focus on the road, etc.). 

Although these sys­tems have a very pre­cise per­cep­tion of the envir­on­ment togeth­er with short term pre­dict­ive cap­ab­il­ity and inhu­manly fast response times, we are still talk­ing about highly spe­cial­ized solu­tions. As a res­ult, they are still far from the gen­er­al arti­fi­cial intel­li­gence (AGI). I am refer­ring to the so-called “strong AI”, cap­able of repla­cing us in almost all tasks, which many have spec­u­lated about in the con­text of the recent boom in pop­ular­ity and use­ful­ness of chat­bot tech­no­lo­gies such as Chat­G­PT. In our work, the dir­ect use of the lat­ter is severely lim­ited. Espe­cially with respect to usage of gen­er­ated code or content. 

The main causes of the status quo are issues related to the leg­al risks and lack of copy­right related clar­ity for both the out­put con­tent and the source mater­i­als ini­tially used to train these models.

Mar­cin Caryk: AI is a hot top­ic right now, with people every­where talk­ing about it and try­ing to use it. My pro­fes­sion­al activ­it­ies relate to auto­mot­ive, so the use of pub­licly avail­able AI, i.e., in the cloud, is very lim­ited. This is due to leg­al aspects and the pos­sib­il­ity of using cer­tain industry-spe­cif­ic solu­tions in pub­licly avail­able mod­els. As a test­er, I occa­sion­ally assist with Chat­G­PT. How­ever, I do this to help with gen­er­al issues unre­lated to the top­ics used at the cli­ent’s site, such as when work­ing with Python or as part of my aca­dem­ic activ­ity as a teach­er. I try to show stu­dents how such a tool can be used wisely. I teach them not to be cog­nit­ively pass­ive about the con­tent that such mod­els will gen­er­ate. In oth­er words, to ana­lyze and veri­fy what arti­fi­cial intel­li­gence will develop. 

What do you see as the biggest chal­lenge in using AI at work? 

BD: One of the biggest chal­lenges is veri­fy­ing the safety and cor­rect­ness of AI-based sys­tems. Train­ing the mod­el itself, assum­ing access to a suf­fi­ciently large data­set, is rel­at­ively simple. The prob­lem arises when, at the end of this pro­cess, we end up with a black box solu­tion, the per­form­ance of which is chal­len­ging to eval­u­ate without tests that are as com­pre­hens­ive and diverse as the ulti­mate real-world use cases. 

So, some example ques­tions that need to be asked and veri­fied are: 

  • Does the sys­tem recog­nize and inter­pret traffic signs, lights and road mark­ings cor­rectly and equally well in, let’s say, the US, China or South America? 
  • How does it handle dif­fi­cult con­di­tions such as night, rain, winter in Nor­way, get­ting sun-blinded on a high­way in Brazil, or driv­ing on a tight road in the coun­tryside in the UK? 
  • Can it detect  detect all usu­al traffic par­ti­cipants but also any oth­er objects that one might encounter by acci­dent on the road? 
  • Will the sys­tem cor­rectly recog­nize a STOP sign even when defaced by stick­ers or graffiti? 
  • Are there exploit­able vul­ner­ab­il­it­ies in the mod­el poten­tial bad act­ors might delib­er­ately use to com­prom­ise the security? 
  • Is the sys­tem immune to “hal­lu­cin­a­tions” — false detec­tions of non-exist­ent obstacles that could poten­tially trig­ger a tra­gic emer­gency break­ing on an empty highway? 

MC: To put it very broadly, the biggest prob­lem with any AI mod­el is its effect­ive­ness. Thus, the “abil­ity” to respond to vari­ous inputs with the “cor­rect” response, i.e., the one we expect to get. The design­er of such a mod­el would have to anti­cip­ate as many cases as pos­sible, espe­cially extreme cases, pre­pare such data and train the mod­el so that it would give the cor­rect answers and respond appropriately. 

In my career, I have been involved in the devel­op­ment of neur­al net­work mod­els for recog­niz­ing defects in wel­ded ship parts on X‑ray images using Machine Learn­ing (ML) mod­els. Image pro­cessing and pre­par­ing input data to train the mod­el is a long and tedi­ous job but a cru­cial one. As it turned out, where I had the least data the ML mod­el did the worst. These were cracks in welds, which are easy to spot and without spe­cial ana­lys­is to reject such a weld.

Input data, with vari­ety and quant­ity, is vital. Data for GPT Chat is already avail­able in abund­ance. Sim­il­arly, all the data about us, the people who build our pro­files, reveal what we like, what we order, what sites we browse, etc., already exists; we provide it ourselves every day. For the auto­mot­ive industry and autonom­ous drivers, it’s still a niche — we’re still col­lect­ing this type of data. Driv­ing through a his­tor­ic medi­ev­al town with nar­row streets looks dif­fer­ent than driv­ing through mod­ern cit­ies on a three-lane road, so the pos­sible scen­ari­os are rather numerous. 

In sum­mary, the chal­lenges AI faces include achiev­ing faster response times, achiev­able through advanced hard­ware, devel­op­ing more effi­cient mod­els to reduce resource require­ments, and address­ing the need for large, diverse, and leg­ally com­pli­ant data­sets for train­ing, val­id­a­tion, and testing.

How do you veri­fy the suit­ab­il­ity of a giv­en AI-based solu­tion? 

BD: The most com­monly used meth­od is a massive data col­lec­tion cam­paign around the world, per­formed using spe­cially adap­ted test cars. These vehicles metic­u­lously col­lect all input and out­put data, both from the exist­ing intern­al sub­sys­tems and pre­cisely cal­ib­rated aux­il­i­ary sensors like LID­AR or GPS. For more dan­ger­ous scen­ari­os that should not be veri­fied on pub­lic roads, such as sim­u­lat­ing con­di­tions for an emer­gency brak­ing to avoid hit­ting a ped­es­tri­an, drives are con­duc­ted on ded­ic­ated test tracks. After all, we are talk­ing about tens or hun­dreds of thou­sands of hours of record­ings, mil­lions of kilo­met­ers driv­en and peta­bytes of accu­mu­lated data. 

It is also worth not­ing that such veri­fic­a­tions must be repeated reg­u­larly as the soft­ware evolves. For this pur­pose, soft­ware/hard­ware-in-the-loop tech­niques are employed to allow reg­u­lar re-sim­u­la­tion of all col­lec­ted data. These sim­u­lated out­puts are then ana­lyzed through mul­tivari­ate meth­ods to detect any neg­at­ive cor­rel­a­tions, biases (such as a tend­ency to over­es­tim­ate dis­tances), regres­sions, or unex­pec­ted edge cases. Giv­en the scale of data, even with super­com­puters, a single iter­a­tion can take weeks to analyze.

MC: It all depends on the con­text of what the solu­tion and mod­el are being used for. When it comes to AI in auto­mot­ive and the use of an autonom­ous driv­ing sys­tem, among oth­er things, this is a com­plex pro­cess. This is because when cre­at­ing the mod­el, we already have a divi­sion of the data into learn­ing, val­id­a­tion, and test­ing data. Once the AI mod­el or the entire sys­tem is cre­ated, we have the veri­fic­a­tion and ana­lys­is pro­cess. Then, after the mod­el is imple­men­ted on the tar­get hard­ware, there is a veri­fic­a­tion pro­cess in the sim­u­la­tion envir­on­ment. Among oth­er things, the response time and the cor­rect­ness of the response with the mod­el data are checked. The data here has been gen­er­ated and has not yet come from the actu­al sensors or hard­ware. Vari­ous sim­u­lat­ors are often used for this, feed­ing the pro­cessed data to the AI mod­el. This is Soft­ware-In-the-Loop test­ing. Once all the com­pon­ents, includ­ing sensors and cam­er­as, are put togeth­er, the Hard­ware-In-the-Loop test­ing pro­cess takes place. 

This is the pro­cess of per­form­ing integ­ra­tion test­ing, where the cooper­a­tion of all sys­tem com­pon­ents is checked using per­form­ance and optim­iz­a­tion tests. 

In addi­tion, in many cases, oth­er AI mod­els are already being used, such as ML for auto­mat­ic test case gen­er­a­tion and for intel­li­gent test data gen­er­a­tion. Algorithms are also used for anom­aly detec­tion and error isol­a­tion, espe­cially data from vari­ous types of sensors. Then, everything is tested in a test mod­el of the vehicle where data is col­lec­ted, and the driver has com­plete con­trol of the vehicle. In all this, the key is to divide the test­ing pro­cess into crit­ic­al func­tion test­ing, regres­sion, and cyc­lic veri­fic­a­tion. If we are talk­ing about test­ing lan­guage mod­els such as Chat­G­PT, the test­ing effort is smal­ler. The big input for test­ing comes from the end users dur­ing its nor­mal use. 

And how do you ensure the qual­ity of the work done by AI? 

BD: By con­stantly com­par­ing the res­ults obtained with inde­pend­ent sensors and oth­er altern­at­ive sources of “ground truth.” In addi­tion, we check the con­sist­ency of out­puts with­in the sys­tem itself, across suc­cess­ive soft­ware ver­sions, and in the case of mul­tiple sim­u­la­tions on the same data, we even expect them to be determ­in­ist­ic. Good sys­tems plan in advance for mul­tiple redund­ant, tech­no­lo­gic­ally inde­pend­ent sources of inform­a­tion, requir­ing mutu­al con­sist­ency of res­ults for fur­ther operation. 

In each iter­a­tion, we con­tinu­ously refine our test­ing and ana­lys­is meth­od­o­logy to detect and address all poten­tial prob­lems in advance. I have been involved with ADAS sys­tems veri­fic­a­tion for many years. While it can be demand­ing — often for­cing one to ques­tion pro­ject require­ments, espe­cially in the con­text of budget and time pres­sures — it also gives me an incred­ible sense of call­ing. After all, this work has a tan­gible impact on the lives and safety of all people, both those inside and out­side of the car. If such pro­spect and respons­ib­il­ity does not motiv­ate to per­form and rise to the peak of your skills, it is hard to ima­gine what else would. 

MC: First, by con­stantly test­ing AI solu­tions with real data as well as sim­u­la­tion data. The key here is to have cases with edge data, those that have extreme val­ues, so either very small or too large, gen­er­ally out of range. The veri­fi­er must have a so-called “crit­ic­al eye” as well as an inquis­it­ive per­son­al­ity and always ask the ques­tion, “What would hap­pen if…?”. 

We cer­tainly know by now that AI solu­tions are not the answer to our ignor­ance but rather a time-sav­ing tool to assist engineers. 

For example, the use of Chat­G­PT requires veri­fic­a­tion of the inform­a­tion gen­er­ated by the AI and, thus, the mod­el’s know­ledge of the quer­ied issue. This is exactly the same as when AI gen­er­ates graph­ics. If a gen­er­ated image of a per­son has three hands and this was not the inten­ded pur­pose, then we know that the pic­ture is gen­er­ated with an error because most humans have only two hands. The same is true with any AI mod­el; we need to know exactly what we want to get and val­id­ate the mod­el in this regard.In your opin­ion, from now on, will AI always accom­pany soft­ware devel­op­ment com­pan­ies? 

BD: In our industry, it is now actu­ally impossible for a new car to be author­ized to use in the European Uni­on without ADAS sys­tems. The num­ber and qual­ity of the man­dat­ory func­tions of these sys­tems are con­stantly increas­ing. With tight emis­sion con­trol and sim­il­ar per­form­ance of most elec­tric engines, soft­ware qual­ity and autonom­ous func­tions are becom­ing key dis­tin­guish­ing com­pet­it­ive ele­ments of per­ceived value bey­ond raw price of the vehicle itself. 

I dare say that AI will soon become an integ­ral part of our lives — both pro­fes­sion­al and private.

We can stay in deni­al and joke as new tools take their first, often awk­ward steps in the next tech­no­lo­gic­al revolu­tion.  But a quarter of a cen­tury ago, many also doubted that the Inter­net and Google would become so indis­pens­able to most of us. Case in point: thanks to increas­ing soph­ist­ic­a­tion of vir­tu­al bots, we con­stantly bom­barded with unso­li­cited and dif­fi­cult to block con­tacts, offers, and spam via phone, text mes­sages or emails. In this bot/AI arms race each of us will soon require a private AI assist­ant / a vir­tu­al sec­ret­ary to shield ourselves and effect­ively fil­ter incom­ing data. It will decide which inform­a­tion should reach us and what should be politely but firmly rejec­ted or ignored alto­geth­er.

MC: I believe that AI will be an insep­ar­able “friend” to us dur­ing soft­ware devel­op­ment. Pre­vi­ously, we often worked by search­ing, for example, Stack Over­flow for­ums, etc., and now we are able to save time thanks to AI. Of course, I believe that every­one must always look crit­ic­ally at the solu­tions that AI will give them. In short, without know­ing and under­stand­ing what is going on in the code being developed, using AI can be dis­astrous.  As for our lives, on the oth­er hand, it is already hap­pen­ing. Vari­ous AI mod­els are being used more and more fre­quently and boldly in every field. In the auto­mot­ive industry as well. It’s only a mat­ter of time when cars will drive them­selves, fly and we will be accom­pan­ied on a daily basis by solu­tions such as assist­ants, wheth­er in vir­tu­al or robot­ic form. 

As the auto­mot­ive industry rap­idly evolves with AI advance­ments, part­ner­ing with experts is cru­cial to stay ahead. Codelab spe­cial­ises in integ­rat­ing cut­ting-edge tech­no­logy tailored to your auto­mot­ive needs. Con­nect with us to explore how our expert­ise can drive innov­a­tion and effi­ciency in your projects.

Trans­lated ver­sion of the ori­gin­al inter­view in Pol­ish con­duc­ted by Just-join-it.