Facebook lanceert TransCoder: AI die de ene programmeertaal met hoge nauwkeurigheid naar de andere omzet

Facebook lanceert TransCoder: AI die de ene programmeertaal met hoge nauwkeurigheid naar de andere omzet

Facebook-onderzoekers hebben zojuist aangekondigd dat ze met succes een programmeertaalconverter voor kunstmatige-intelligentietoepassingen hebben ontwikkeld . Deze tool genaamd TransCoder kan broncode van de ene programmeertaal op hoog niveau naar de andere converteren. Bijvoorbeeld het overstappen van C++ naar Java, Python en andersom.

Gebaseerd op leren zonder toezicht, zoekt TransCoder naar voorheen onontdekte patronen in datasets, die ongelabeld zijn en met minimaal menselijk toezicht. Volgens berekeningen is TransCoder veruit superieur aan bestaande commerciële tools.

Facebook lanceert TransCoder: AI die de ene programmeertaal met hoge nauwkeurigheid naar de andere omzet

Facebook TransCoder kan broncode met hoge nauwkeurigheid van de ene programmeertaal naar de andere converteren

Het omzetten van broncode met behulp van oude talen naar modernere en effectievere programmeertalen zoals Java en C++ is vaak kostbaar in zowel tijd als geld. Bovendien moeten degenen die deze baan uitoefenen een diepgaande kennis hebben van zowel oude als nieuwe talen. De Australische Commonwealth Bank heeft bijvoorbeeld vijf jaar en 750 miljoen dollar gekost om de broncode van hun volledige systeem van COBOL naar Java te converteren.

In theorie kunnen programmeertaalconverters het bovenstaande proces enorm ondersteunen, waardoor programmeurs de broncode niet helemaal opnieuw hoeven te schrijven. In de praktijk is het echter erg moeilijk om een ​​converter te bouwen en te perfectioneren, omdat programmeertalen verschillende syntaxissets kunnen gebruiken en kunnen vertrouwen op API-platforms, standaardfunctiebibliotheken en typen verschillende variabelen.

Door gebruik te maken van onbewaakt leren kan Facebook's TransCoder echter met een hoge mate van nauwkeurigheid converteren tussen C++, Java en Python. TransCoder is getraind door het opnemen en in kaart brengen van vergelijkbare codesegmenten die dezelfde functies van programmeertalen delen. De broncode die wordt gebruikt om TransCoder te trainen, wordt zelfs gemaskeerd met willekeurige codefragmenten, zodat TransCoder deze kan voorspellen op basis van context.

Een ander proces genaamd auto-encoding denoising zal TransCoder trainen om automatisch geldige coderegels te genereren wanneer deze wordt voorzien van onsamenhangende, onduidelijke invoergegevens. Ten slotte stelt het decompilatieproces van de broncode TransCoder in staat een parallel datasysteem te creëren dat kan worden gebruikt voor toekomstige training.

Het meertalige karakter van TransCoder wordt verder "gevoed" door een reeks gemeenschappelijke "ankers" in programmeertalen , zoals de gebruikelijke trefwoorden "voor", "terwijl", "als" en "proberen", getallen, wiskundige operatoren en Engelse snaren. Het decompilatieproces zal TransCoder ook helpen de kwaliteit in de loop van de tijd te verbeteren.

Facebook-onderzoekers hebben TransCoder getraind in de openbare dataset van GitHub, die 2,8 miljoen open source-repository's bevat. Het doel van dit trainingsproces is om TransCoder op functieniveau te helpen de ene programmeertaal naar de andere te converteren. Nadat TransCoder op alle beschikbare broncode was geoefend, werden alleen de ruisonderdrukkingscomponenten met behulp van auto-codering en decompilatie verder getraind in de functies, afgewisseld met componenten die werkten op 6.000 tokens van programmeertalen.

Om TransCoder te evalueren, haalden de onderzoekers 852 parallelle functies uit C++, Java en Python uit GeeksforGeeks, een online platform dat programmeerproblemen verzamelt en oplossingen biedt in meerdere programmeertalen. Op deze manier ontwikkelden ze een nieuw meetsysteem, rekennauwkeurigheid, om te testen of gegeven dezelfde input de hypothetische functie dezelfde output produceert als een referentie.

Facebook geeft toe dat zelfs de beste versie van TransCoder nog niet veel nauwkeurige functiestructuren oplevert ten opzichte van de invoer. Over het algemeen hebben de conversieresultaten van deze tool echter een hoge rekennauwkeurigheid. Hieronder staan ​​de nauwkeurigheidsstatistieken van TransCoder die Facebook heeft berekend:

  • Bij het vertalen van C++ naar Java behaalde TransCoder 74,8% van de verwachte resultaten
  • Bij het vertalen van C++ naar Python behaalde TransCoder 67,2% van de verwachte resultaten
  • Bij het vertalen van Java naar C++ behaalde TransCoder 91,6% van de verwachte resultaten
  • Bij het vertalen van Python naar Java behaalde TransCoder 56,1% van de verwachte resultaten
  • Bij het vertalen van Python naar C++ behaalde TransCoder 57,8% van de verwachte resultaten
  • Bij het vertalen van Java naar Python behaalde TransCoder 68,7% van de verwachte resultaten

Volgens de onderzoekers heeft TransCoder blijk gegeven van een duidelijk begrip van de specifieke syntaxis van elke taal, evenals van de datastructuren en methoden van de taal. TransCoder kan ook de bibliotheken van elke taal nauwkeurig aanpassen en zich aanpassen aan kleine wijzigingen, bijvoorbeeld een hernoemde invoervariabele. Toch heeft TransCoder bepaalde variabelen in het conversieproces nog niet geïdentificeerd. De onderzoekers beoordelen TransCoder echter nog steeds als superieur aan raamwerken die zijn gecreëerd door het handmatig herschrijven van regels op basis van gespecialiseerde kennis.

Facebook lanceert TransCoder: AI die de ene programmeertaal met hoge nauwkeurigheid naar de andere omzet

Naast Facebook zijn veel grote bedrijven ook geïnteresseerd in de ontwikkeling van AI die in staat is om namens mensen ‘code te schrijven’.

"TransCoder is gemakkelijk te generaliseren naar elke programmeertaal, zonder dat er diepgaande kennis voor nodig is. In termen van efficiëntie is TransCoder veruit superieur aan bestaande commerciële oplossingen" , beweren Facebook-onderzoekers. "Onze experimentele resultaten laten zien dat veel van de bugs van TransCoder eenvoudig kunnen worden opgelost door eenvoudige beperkingen aan de decoder toe te voegen om ervoor te zorgen dat de gegenereerde functies syntactisch correct zijn. Of we kunnen gespecialiseerde architecturen voor dit probleem creëren."

Naast Facebook zijn ook een aantal andere reuzen geïnteresseerd in de ontwikkeling van AI-systemen die in staat zijn ‘code te schrijven’ in plaats van mensen. Tijdens de Microsoft Build-conferentie eerder dit jaar demonstreerde OpenAI een kunstmatige intelligentie die was getraind op GitHub en de mogelijkheid had om volledig functionele software te schrijven op basis van Engels commentaar. Twee jaar geleden creëerde Rice University een systeem genaamd Bayou dat in staat is zijn eigen software te schrijven door 'testamenten' te synthetiseren in openbaar gedeelde coderegels.

"Deze AI-systemen zullen helpen bij het elimineren van details in het softwareontwikkelingsproces ", zegt Justin Gottschlich, directeur van Intel Labs. “Ze kunnen programmeurs helpen de softwareontwikkeling te versnellen door bugs op te lossen. Daarnaast helpen ze het aantal banen in de technologische industrie te vergroten waar ook mensen zonder programmeerachtergrond terecht kunnen. Deze mensen zullen creatieve taken op zich nemen en het codeergedeelte verlaten. naar AI."

Wat vind je van deze nieuwe AI van Facebook? Laat uw opmerkingen achter in de opmerkingen onder het artikel!


De ChatGPT-taskforce zal door Europa worden opgericht

De ChatGPT-taskforce zal door Europa worden opgericht

Het orgaan dat de nationale privacywaakhonden van Europa verenigt, zei donderdag dat het een taskforce heeft opgericht die zich specifiek bezighoudt met ChatGPT

AI voorspelt het tijdstip van de menselijke dood met een nauwkeurigheid van 78%

AI voorspelt het tijdstip van de menselijke dood met een nauwkeurigheid van 78%

Deense en Amerikaanse wetenschappers hebben samengewerkt om een ​​AI-systeem te ontwikkelen genaamd life2vec, dat in staat is om het tijdstip van menselijke dood met hoge nauwkeurigheid te voorspellen.

AI voorspelt urinewegaandoeningen alleen al op basis van het geluid van urine

AI voorspelt urinewegaandoeningen alleen al op basis van het geluid van urine

Een AI-algoritme genaamd Audioflow kan naar het geluid van het plassen luisteren om abnormale stromingen en bijbehorende gezondheidsproblemen van de patiënt effectief en met succes te identificeren.

Barmannen opgelet: deze robot kan in slechts 1 minuut een cocktail mixen

Barmannen opgelet: deze robot kan in slechts 1 minuut een cocktail mixen

Door de vergrijzing en de afnemende bevolking van Japan heeft het land een aanzienlijk aantal jonge werknemers nodig, vooral in de dienstensector.

Honderden mensen waren gedesillusioneerd toen ze hoorden dat het meisje van wie ze hielden een product van AI was

Honderden mensen waren gedesillusioneerd toen ze hoorden dat het meisje van wie ze hielden een product van AI was

Een Reddit-gebruiker genaamd u/LegalBeagle1966 is een van de vele gebruikers die verliefd zijn op Claudia, een filmsterachtig meisje dat vaak verleidelijke selfies deelt, zelfs naakte, op dit platform.

Nog twaalf potentiële bedrijven sluiten zich aan bij de AI-alliantie van Microsoft.

Nog twaalf potentiële bedrijven sluiten zich aan bij de AI-alliantie van Microsoft.

Microsoft heeft zojuist aangekondigd dat nog twaalf technologiebedrijven zullen deelnemen aan zijn AI for Good-programma.

AI herschept Dragon Ball-personages in vlees en bloed

AI herschept Dragon Ball-personages in vlees en bloed

Gebruiker @mortecouille92 heeft de kracht van de grafische ontwerptool Midjourney aan het werk gezet en uniek realistische versies gemaakt van beroemde Dragon Ball-personages zoals Goku, Vegeta, Bulma en oudere Kame.

7 technieken om ChatGPT-reacties te verbeteren

7 technieken om ChatGPT-reacties te verbeteren

Door enkele voorwaarden toe te voegen of enkele scenario's in te stellen, kan ChatGPT relevantere antwoorden op uw vragen geven. Laten we eens kijken naar enkele manieren waarop u de kwaliteit van uw ChatGPT-reacties kunt verbeteren.

Bewonder de prachtige schilderijen getekend door kunstmatige intelligentie

Bewonder de prachtige schilderijen getekend door kunstmatige intelligentie

Midjourney is een kunstmatig intelligentiesysteem dat de laatste tijd voor ‘koorts’ zorgt in de online community en de kunstenaarswereld vanwege zijn buitengewoon mooie schilderijen die niet onderdoen voor die van echte kunstenaars.

Dit AI-model was een van de eerste ‘experts’ die nieuws ontdekte over de uitbraak van Wuhan-longontsteking.

Dit AI-model was een van de eerste ‘experts’ die nieuws ontdekte over de uitbraak van Wuhan-longontsteking.

Dagen nadat China de uitbraak had aangekondigd, bleef het AI-systeem van BlueDot, met toegang tot wereldwijde gegevens over de verkoop van vliegtickets, nauwkeurig de verspreiding van het Wuhan Corona-virus naar Bangkok, Seoul, Taipei en Tokio voorspellen.