ID.nl logo
Alles over kunstmatige intelligentie in processors
© Reshift Digital
Huis

Alles over kunstmatige intelligentie in processors

Meer en meer apparaten gebruiken gespecialiseerde chips voor kunstmatige intelligentie. Zo heeft de Google Pixel 6 een AI-chip en is de iPhone al jaren voorzien van een Neural Engine. Wat is er zo speciaal aan deze chips en welke taken kunnen ze versnellen?

Standaardprocessors zijn ontworpen om zo snel mogelijk instructies na elkaar uit te voeren. Die race naar steeds snellere kloksnelheden heeft al een tijdje moeten plaatsmaken voor parallellisatie: hierbij voeren meerdere processorkernen op hetzelfde moment instructies uit. Maar de meeste software maakt daarvan geen efficiënt gebruik. Je tekstverwerker haalt niet zoveel voordeel uit acht gelijktijdig werkende processorkernen.

Deep learning

Maar er zijn heel wat gespecialiseerde toepassingen die wel profiteren van verregaande parallellisatie. Vooral in AI (kunstmatige intelligentie) en dan in het bijzonder deep learning, een vorm van neurale netwerken. Deze algoritmen profiteren ervan om dezelfde instructies op grote hoeveelheden verschillende data tegelijk uit te voeren. Dat vereist een heel ander soort processor.

Neurale netwerken bootsen de werking van de hersenen na, die een biologisch neuraal netwerk vormen: een kluwen van ontzettend veel verbindingen tussen neuronen (hersencellen). Een kunstmatig neuraal netwerk bestaat meestal uit meerdere lagen: een invoerlaag van neuronen die de invoer van een probleem voorstellen (bijvoorbeeld een foto), een uitvoerlaag van neuronen die de oplossing van het probleem voorstellen (bijvoorbeeld de naam van de persoon op de foto), en een of meer tussenliggende lagen die berekeningen uitvoeren. Bij een groot aantal lagen tussen en uitvoer spreken we van deep learning.

©PXimport

Tensors

De data in deep learning worden opgeslagen in de vorm van tensors. Een tensor is een veralgemening van een vector of matrix naar meerdere dimensies. We kunnen een tensor beschrijven aan de hand van drie primaire eigenschappen: de rang, de vorm en het datatype. De rang van een tensor is het aantal assen. Zo is de rang van een matrix 2, van een vector 1 en van een getal 0.

De vorm van een tensor is het aantal elementen volgens elke as van de tensor. Stel dat je een tensor van rang 2 aanmaakt met op de eerste rij de getallen 1 en 2, op de tweede rij de getallen 3 en 4, en op de derde rij de getallen 5 en 6. Dan is de vorm van deze tensor de vector (en dus ook een tensor, namelijk van rang 1) [3, 2]. De tensor heeft namelijk drie rijen van 2 elementen.

Het datatype van een tensor beschrijft welke getallen de tensor bevat. Dat kan bijvoorbeeld float32 zijn (kommagetallen van 32 bit), of int8 (gehele getallen van 8 bit).

©PXimport

Machine learning met tensors

Voor elke taak waarvoor je een neuraal netwerk wilt trainen, moet je dus de data omzetten in tensors. Een afbeelding waarin je objecten wilt herkennen, zet je dan om in een tensor van rang 3: de vorm is dan [hoogte, breedte, kanalen], waarbij kanalen voor de kleurkanalen zoals rood, groen en blauw staat.

Vaak verwerken algoritmen in machine learning maar een deel van de data tegelijk. In ons voorbeeld van objectherkenning worden dan meerdere afbeeldingen in een batch onderverdeeld. We werken dan met een tensor van rang 4 met als vorm [samples, hoogte, breedte, kanalen]: de eerste as bevat het aantal samples in een batch.

Deep learning met GPU’s

Toen deep learning rond 2010 na jarenlange ontwikkeling eindelijk doorbrak, was dat vooral door de opkomst van snelle GPU’s (graphical processing units). Onderzoekers ontdekten dat de chips die in grafische kaarten zitten om sneller beelden te renderen, ook uitstekend uitgerust waren voor deep learning, in het bijzonder bij volledig verbonden neurale netwerken.

Computerwetenschapper Andrew Ng bepaalde dat deep learning-systemen met een factor 100 versneld konden worden door gebruik van GPU’s. Niet langer had men weken nodig om algoritmen voor handschriftherkenning of objectdetectie te trainen, maar slechts dagen.

Een GPU bestaat dan ook gemakkelijk uit duizenden processorkernen. Bovendien maakt een GPU gebruik van het SIMD-paradigma (zie kader ‘SIMD’): dezelfde bewerking wordt op duizenden stukjes data tegelijk uitgevoerd. Dat is ideaal voor deep learning, wat een heleboel tensorbewerkingen nodig heeft op grote hoeveelheden data.

Grafische kaart voor AI

In het begin werden voor AI-taken gewoon grafische kaarten voor consumenten gebruikt. Ondertussen produceert Nvidia ook GPU’s, ontwikkelbordjes en volledige servers die specifiek zijn ontworpen voor deep learning. Dat alles doet het bedrijf onder de naam Jetson. De prijzen van de Jetson Developer Kits beginnen bij 75 euro.

De prestaties van deze GPU’s variëren van 472 gigaflops (472 miljard floating-point-bewerkingen per seconde) op de 128-core Nvidia Maxwell-GPU in de Jetson Nano tot 200 tops (200 biljoen bewerkingen per seconde) op de 2048-core Nvidia Ampere-GPU met 64 tensor-cores (te vergelijken met de tensor processing units van Google, zie verder) in de later dit jaar verwachte Jetson AGX Orin. Wat al deze GPU’s gemeen hebben, is dat ze met Nvidia’s toolkit CUDA (Compute Unified Device Architecture) te programmeren zijn.

©PXimport

SIMD

Computerwetenschapper Michael J. Flynn stelde in 1966 een invloedrijke classificatie op van computerarchitecturen volgens hun parallellisme. Deze werkt op basis van twee parameters: het aantal instructies dat tegelijk wordt uitgevoerd en het aantal datastromen dat tegelijk wordt verwerkt.

Een computer zonder parallellisme, zoals de pc vóór de komst van multicore-processors, valt onder single instruction, single data (SISD). Een GPU die dezelfde instructie op meerdere data tegelijk uitvoert, valt onder single instruction, multiple data (SIMD). Maar ook moderne processors ondersteunen gedeeltelijk SIMD-instructies, zoals Advanced Vector Extensions (AVX) op Intel- en AMD-processors, de Neon-extensie op ARM-processors en AltiVec op PowerPC.

Multiple instruction, single data is nogal ongewoon. De boordcomputer van de Space Shuttle gebruikt deze aanpak voor foutentolerantie. Multiple instruction, multiple data is de architectuur voor alle vormen van gedistribueerde systemen.

Overigens zijn moderne GPU’s geen perfecte implementatie van SIMD meer, maar eerder van single instruction, multiple threads (SIMT): je voert meerdere threads uit die elk SIMD toepassen.

Tensor processing unit

Hoewel GPU’s al een hele prestatiewinst bieden ten opzichte van CPU’s voor deep learning, kunnen de prestaties nog met zeker een factor 10 verbeteren door application-specific integrated circuits (ASIC) te gebruiken. Die chips hoeven immers geen rekening te houden met de GPU-architectuur en zijn speciaal ontworpen voor berekeningen met lagere precisie. Door berekeningen bij benadering uit te voeren, in plaats van exact tot op zoveel cijfers na de komma, gaan ze veel sneller. Die precisie is immers in veel toepassingen met neurale netwerken niet nodig.

Google ontwikkelde in 2015 zijn tensor processing unit (TPU), een ASIC voor machine learning. De TPU’s zijn ontworpen om met een laag verbruik zoveel mogelijk berekeningen uit te voeren met een lage precisie (doorgaans 8 bit). Specifiek voor convolutional neural networks zijn TPU’s heel geschikt.

TPU’s in de cloud

Het bedrijf zette de TPU’s eerst in zijn eigen datacenters in, en dat blijft het ook nu nog doen. Zo verwerken TPU’s foto’s van Google Photos, tekst van Google Street View en worden de chips ook gebruikt in het zoekalgoritme RankBrain. Google Translate, Google Assistant, Gmail, al deze diensten draaien op TPU’s.

Sinds 2018 biedt Google zijn TPU’s ook aan als onderdeel van het Google Cloud Platform. De dienst heet Cloud TPU. Zo heeft de tweede generatie van de Cloud TPU een snelheid van 45 teraflops. Daarvan worden vier chips op één module geplaatst, met een totale snelheid van 180 teraflops. Google assembleert 64 van die modules tot een ‘pod’ van 256 Cloud TPU-chips met een totale snelheid van 11,5 petaflops.

©PXimport

TPU’s lokaal

In 2019 kwam Google met een nieuwe productlijn TPU’s, de Edge TPU. In tegenstelling tot de Cloud TPU’s zijn deze bedoeld voor edge computing: berekeningen op lokale apparaten. De Edge TPU is in staat om vier biljoen bewerkingen per seconde uit te voeren met een vermogensverbruik van slechts 2 W.

Google biedt zijn Edge TPU-producten aan onder de merknaam Coral. Tot de beschikbare producten behoren ontwikkelbordjes van allerlei afmetingen, M.2-insteekkaartjes en de USB Accelerator die je eenvoudig via usb op je laptop of Raspberry Pi aansluit. De Edge TPU wordt ook aan andere fabrikanten gelicentieerd. Zo biedt Asus zijn ontwikkelbordje Tinker Edge T aan, evenals een PCIe-kaart waarin 8 of 16 Edge TPU-chips zijn geïntegreerd.

De Edge TPU programmeer je met TensorFlow Lite, een lichtgewicht framework voor deep learning. Aangezien de chip alleen 8bit-bewerkingen ondersteunt, moet het neurale netwerk getraind worden zodat het hiermee rekening houdt, of je kwantiseert een netwerk tot 8 bit.

Verder zijn de bewerkingen die de Edge TPU ondersteunt ook beperkt, waardoor de chip voornamelijk nuttig is voor inference, en niet voor het trainen van netwerken. Een voorbeeld van inference is het detecteren van objecten in foto’s. De training van het neurale netwerk dat je daarvoor gebruikt, moet op een ander platform gebeuren.

©PXimport

TPU in je broekzak

In 2019 bracht Google zijn telefoon Pixel 4 uit met een Neural Core. Deze chip was een aangepaste versie van de Edge TPU en hielp met het ontgrendelen via je gezicht, een snellere Google Assistant en een slimmere camera.

In de Pixel 5 verdween de Neural Core vreemd genoeg, maar in de Pixel 6 maakte de Edge TPU een comeback, deze keer ingebouwd in een nieuwe SoC, de Google Tensor. Deze bevat zowel een CPU als een GPU, TPU en nog andere versnellerhardware.

De TPU verbetert de automatische spraakherkenning van Google Assistant en helpt ook het automatische ondertitelingssysteem Live Caption zonder de batterij snel leeg te trekken. En met het neuraal netwerk HDRnet verbetert de TPU beelden met een breed bereik aan helderheden. Door de TPU voor deze taken te gebruiken, hoeft de Pixel 6 minder vaak verbinding te leggen met de Cloud TPU’s van Google zelf. Dat komt de batterijduur ten goede.

Telefoons met AI

Google is niet de enige die gespecialiseerde AI-chips in zijn telefoons steekt. In 2018 introduceerde Samsung zijn Exynos 9820 met een neural processing unit (NPU). De AI-versnellerchip zit onder andere in de Samsung Galaxy S10.

Ook Qualcomm heeft in zijn recente Snapdragon-SoC’s een zogeheten AI Engine ingebouwd. De module die MediaTek in zijn SoC’s heeft ingebouwd, heet een artificial intelligence processing unit (APU). AI is tegenwoordig al zo ingeburgerd in telefoons dat elke serieuze SoC-fabrikant dit inbouwt.

©PXimport

Apple Neural Engine

Ook Apple heeft AI-versnellerhardware. Die dook voor het eerst op in de A11 Bionic-SoC die Apple ontwierp voor de iPhone 8, iPhone 8 Plus en iPhone X van september 2017. Apple noemt deze hardware een Neural Engine. In de A11 bestond die uit twee cores die tot 600 miljard bewerkingen per seconde konden uitvoeren. De versneller werd gebruikt voor Face ID, Animoji en andere taken waarbij intelligentie nodig is.

In de A12 (onder andere gebruikt in de iPhone XR) voerde Apple het aantal cores in de Neural Engine op naar acht, met een snelheid van 5 biljoen bewerkingen per seconde. Niet alleen was dat negen keer sneller, maar de nieuwe versie verbruikte ook tien keer minder vermogen. In de A13 (van de iPhone 11) bleef het aantal kernen op 8 steken. Het resultaat was 20% sneller (6 biljoen bewerkingen per seconde) en 15% zuiniger.

Sneller en ook voor derden

In de A14 (van de iPhone 12) werd het aantal cores van de Neural Engine verdubbeld tot 16, met een snelheid tot 11 biljoen bewerkingen per seconde. In de Apple M1, de eerste door Apple zelf ontworpen ARM-SoC voor Macs, zat zo goed als dezelfde versie van de Neural Engine. In de Apple A15 (van de iPhone 13) werd de snelheid van de 16-core Neural Engine opgevoerd tot 15,8 biljoen bewerkingen per seconde.

Oorspronkelijk was de kracht van de Neural Engine alleen beschikbaar voor apps van Apple zelf. Maar ondertussen kunnen ook third-party app-ontwikkelaars ervan gebruikmaken via het framework Core ML dat Apple aanbiedt voor machine learning. App-ontwikkelaars die zware analysetaken uitvoeren, doen er goed aan om dat via Core ML te doen. Door deze taken op de Neural Engine uit te voeren, werken ze immers energie-efficiënter en blijft de batterij van de iPhone langer meegaan.

©PXimport

Black box

Het is belangrijk om te weten dat een TPU, NPU, Neural Engine of hoe het ook heet altijd is geoptimaliseerd voor een specifiek type bewerkingen. Een neuraal netwerk bestaat altijd uit verschillende lagen en die kunnen van verschillende types zijn. Niet elke AI-versnellerchip ondersteunt alle types. Ook de ondersteunde datatypes hangen af van de hardware: alleen gehele getallen of ook kommagetallen, en 8, 16 of 32 bit?

De bijbehorende ontwikkeltools moeten je normaliter helpen om een neuraal netwerk aan te passen op de versnellerhardware. Maar de Neural Engine en Core ML van Apple zijn een black box. Apple geeft third-party ontwikkelaars geen richtlijnen over hoe ze hun modellen kunnen optimaliseren om in Core ML gebruik te maken van de Neural Engine. Er is zelfs geen documentatie over welke types lagen ondersteund worden door de Neural Engine. Matthijs Hollemans heeft door te experimenteren wel wat bevindingen over de Neural Engine kunnen publiceren.

TensorFlow-modellen 

Bij de Edge TPU ziet het plaatje er al heel wat inzichtelijker uit. Google heeft uitgebreide documentatie over de compatibiliteit van TensorFlow-modellen op de Edge TPU. Allereerst is er de beperking dat de Edge TPU alleen feed-forward neurale netwerken kan uitvoeren. Hierbij vormen de verbindingen tussen neuronen geen cyclus, maar vloeit de informatie maar in één richting. Dit in tegenstelling tot de recurrent neural networks, waarvoor CPU’s overigens nog altijd goed geschikt zijn. De tweede beperking is dat de Edge TPU alleen TensorFlow Lite-modellen met 8bit-voorstellingen van data kan uitvoeren.

Je traint een model nooit rechtstreeks met TensorFlow Lite. Je traint eerst een TensorFlow-model, dat werkt met floating-point getallen van 32 bit. Dit zet je dan met de TensorFlow Lite Converter om naar een TensorFlow Lite-model met 8bit-getallen en compileer je tot een .tflite-bestand dat je op de Edge TPU kunt uitvoeren.

©PXimport

Deels op de CPU

Zelfs als je een model voor de Edge TPU hebt gemaakt dat intern gekwantiseerd is tot 8bit-getallen, zijn de invoertensors mogelijk nog 32bit-kommagetallen. De Edge TPU-compiler heeft dan een kwantisatiebewerking in het begin van je model toegevoegd. Ook aan het einde van je model komt dan een bewerking die de 8bit-uitvoer weer omzet naar 32 bit. Beide bewerkingen worden op de CPU uitgevoerd. Dat hoeft niet zo’n probleem te zijn en levert doorgaans maar een kleine vertraging op.

Als de Edge TPU Compiler een niet-ondersteunde bewerking tegenkomt, compileert hij de bewerkingen vóór die bewerking voor de Edge TPU. Alle bewerkingen daarna worden dan op de CPU uitgevoerd. De compiler vertelt je ook hoeveel bewerkingen hij op de Edge TPU kan uitvoeren en voor hoeveel hij de CPU nodig heeft. Zelfs als maar een kleine fractie van de bewerkingen op de CPU wordt uitgevoerd, kan dat een grote impact op de prestaties hebben. Je moet er altijd naar streven om 100% van het model op de Edge TPU te kunnen draaien.

Coprocessors

Het idee van een AI-versneller, al dan niet ingebouwd in een SoC, is niet zo nieuw. Al in de jaren 1980 werden processors uitgerust met zogenoemde coprocessors om specifieke taken sneller uit te voeren. Zo hadden Intels eerste x86-CPU’s bijbehorende x87-FPU’s (floating-point units): de 8086 kreeg hulp van de 8087 voor berekeningen met kommagetallen, de 80286 van de 80287 en de 80386 van de 80387. De 80486 was de eerste in de reeks met een ingebouwde FPU.

©PXimport

▼ Volgende artikel
Waar voor je geld: 5 fonduesets voor een gezellige avond
© M.studio - stock.adobe.com
Huis

Waar voor je geld: 5 fonduesets voor een gezellige avond

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Daarom gaan we een paar keer per week voor je op zoek naar zulke aanbiedingen. Met Kerst en Oud en Nieuw voor de deur is het weer tijd om te bedenken wat je wil gaan eten. Wat dacht je van fondueen? Met deze vijf fonduesets maak je indruk op je vrienden en familie.

Met een fondueset smelt je de lekkerste kazen en dep je je broodje of vlees in bouillon of kaas. Fonduesets zijn de ultieme sfeermakers voor de feestdagen, of het nu met vrienden is of familie en of je kiest voor romige kaas, bouillon of chocolade; het is op en top genieten. Een absolute must-have voor elke levensgenieter en perfect voor de feestdagen. Wij vonden vijf betaalbare fonduesets voor je.

Boska Elektrische Fondueset Pro - 8 personen

De Boska Elektrische Fondueset Pro is ontworpen voor liefhebbers van kaas‑ en vleesfondue. De set bestaat uit een geëmailleerde gietijzeren pot met een inhoud van circa 2,15 liter, waardoor je genoeg ruimte hebt voor een volledige kaasfondue of bouillon. Het verwarmingselement is elektrisch en beschikt over een instelbare thermostaat; hierdoor kun je de temperatuur naar wens aanpassen voor verschillende soorten fondue. Een handig indicatielampje laat zien wanneer het element aan staat. De pot staat op een stevige basis en heeft een extra lang snoer van twee meter, zodat je hem makkelijk midden op tafel plaatst. Bij de set worden acht fonduevorken geleverd die zijn voorzien van gekleurde markeringen. De combinatie van gietijzer en emaille zorgt voor een gelijkmatige warmteverdeling en eenvoudige reiniging.

Swissmar Lausanne 11‑delige fondueset - 6 personen

De Zwitserse fabrikant Swissmar levert met de Lausanne een 11‑delige fondueset die is gericht op traditioneel fonduen. De set bestaat uit een koperen pan met een geëmailleerde binnenkant en een zware RVS‑branderschaal. Doordat koper de warmte snel opneemt en verdeelt, is de fondue snel op temperatuur. De pan staat op een robuuste stalen houder waarin een brander met regelaar zit; hiermee pas je de vlamsterkte aan voor kaas‑, bouillon‑ of chocoladefondue. In de doos zitten verschillende accessoires, waaronder zes vorkjes en een branderschaal. Deze set is niet elektrisch, waardoor je hem zelfs buiten of op de camping kunt gebruiken.

Mäser Fondueset - 4 personen

De fondueset van Mäser bestaat uit een roestvrijstalen pan met bijbehorende brander. Roestvrij staal is slijtvast en eenvoudig te reinigen; je kunt de pan na gebruik in de vaatwasser zetten. De set heeft een inhoud van rond één liter, voldoende voor een kaas‑ of chocoladefondue voor een klein gezelschap. Er worden meerdere fonduevorkjes meegeleverd met gekleurde puntjes om ze te onderscheiden. Dankzij de stevige basis staat de pan stabiel op tafel, terwijl de gelijkmatige warmteverdeling voorkomt dat de inhoud aanbrandt. Omdat het geen elektrisch toestel is, gebruik je de brander met brandgel of spiritus.

Baumalu 385050 fondueset - 6 personen

Deze fondueset van Baumalu bestaat uit een zware gietijzeren pan die op een decoratieve houten plaat staat. Gietijzer houdt de warmte goed vast en is geschikt voor zowel kaas‑ als chocoladefondue. De bijgeleverde brander plaats je onder de pan; je regelt de vlamsterkte met een draaiknop. Omdat de pot stevig op de houten plaat staat, blijft hij stabiel en kras je niet op de tafel. In de set zitten fonduevorkjes met houten handvatten.

Tristar FO‑1107 Fonduepan - 8 personen

De Tristar FO‑1107 is een elektrische fondueset met een inhoud van ongeveer 1,5 liter. Je gebruikt deze pan voor verschillende soorten fondue, zoals kaas, bouillon of chocolade. Het verwarmingselement levert circa 1000 watt en heeft een instelbare thermostaat, zodat je de temperatuur kunt aanpassen aan het type fondue. Een indicatielampje geeft aan wanneer het apparaat actief is. De pan heeft een antiaanbaklaag, een cool‑touch handgreep en staat op een antislipvoet voor extra stabiliteit. Er worden acht fonduevorkjes meegeleverd en door de ring bovenop blijven de vorkjes op hun plek tijdens het fonduen.

▼ Volgende artikel
Van papier tot pixels: altijd je administratie op orde
© px.palette
Huis

Van papier tot pixels: altijd je administratie op orde

Papieren facturen, garantiebonnetjes, contracten en andere documenten slingeren al snel overal rond. Waarom niet alles digitaal bewaren, zodat je het in enkele klikken terugvindt? In dit artikel vind je gratis tools en praktische tips om je administratie te scannen, te taggen, doorzoekbaar te maken en veilig op te slaan zonder veel gedoe.

Wat gaan we doen?

We geven diverse tips en tools om administratieve en andere papieren documenten efficiënt en ordelijk te digitaliseren. Dat gaat van scannen en OCR’en tot organiseren, automatiseren, back-uppen en meer.

Tip 1: Scanner

Stel, je wilt een hele reeks documenten digitaliseren, zoals garantiebewijzen of facturen. We gaan ervan uit dat je een scanner in huis hebt, eventueel als onderdeel van een all-in-one-printer. Zo’n toestel is goed geschikt voor stabiele, rechte scans, en een (soms optionele) documentinvoer maakt het extra handig bij grotere aantallen. Je scant het best op zo’n 300 dpi, in grijswaarden of kleur, en bewaart het resultaat bij voorkeur als pdf. Helaas genereert de meegeleverde scansoftware vaak alleen pdf’s met een afbeelding van de tekst, waardoor je die later niet kunt doorzoeken of kopiëren.

©OttoPles

Er bestaan ook heel wat printers met een ingebouwde scanner.

Tip 2: NAPS2

Gebruik in dit geval beter scansoftware met geïntegreerde OCR, zoals het gratis en opensource NAPS2 (www.naps2.com, Windows, macOS en Linux). Start de app, klik op Nieuw profiel en op Apparaat kiezen om je scanner te selecteren. Je kunt kiezen uit drie drivertypes: WIA (ingebouwd in Windows, beperkt), TWAIN (krachtiger) en ESCL (voor moderne netwerk- of wifi-scanners, vergelijkbaar met Apple AirScan). Doorgaans kies je voor TWAIN. Stel de scanopties in en open Geavanceerd voor extra instellingen. Typ een profielnaam en bevestig met OK.

Klik nu op de knop OCR en download de gewenste talen, zoals Dutch en English. Plaats een vinkje bij PDFs doorzoekbaar maken middels OCR en kies taal en modus (Snel of Beste). Vink ook de andere opties aan en druk op Scannen.

Klik daarna op het pijlknopje bij PDF opslaan en kies PDF-instellingen. Vul bij Standaard bestandspad een bestandsnaam in – gebruik eventueel ‘placeholders’ als $(YY)-$(MM)-$(DD) – en kies bij Compatibiliteit bij voorkeur PDF/A, zoals PDF/A-2b. Dit formaat slaat namelijk alle lettertypes, kleurprofielen en structuurinformatie in het bestand zelf op, wat ‘garandeert’ dat je het document ook jaren later nog in zijn oorspronkelijke vorm te zien krijgt. Vink Onthoud deze instellingen aan, klik op OK, selecteer de scans en kies PDF opslaan. Het is trouwens ook mogelijk om een (niet-doorzoekbaar) pdf-bestand in NAPS2 te importeren, dit vervolgens te OCR’en en als PDF/A te bewaren.

NAPS2 is prima opensource-scansoftware, met geïntegreerde meertalige OCR-module.

Pdf-printer

De focus van dit artikel ligt op papieren brondocumenten, maar we willen zeker ook (de gratis versie van) PDFCreator vermelden (www.pdfforge.org/pdfcreator). Je kunt deze namelijk als virtuele printer installeren om zo allerlei documenttypen om te zetten naar PDF(/A).

Start na installatie de app, open het tabblad Printer, vink PDFCreator aan en kies via de moersleutel het bestaande profiel PDF/A (archiefbestand). Bevestig met Opslaan en sluit de app. Open nu een document in een willekeurige toepassing, open het afdrukvenster en selecteer PDFCreator als printer. Een dialoogvenster opent waarin je het document meteen kunt opslaan als PDF/A-bestand (standaardversie 2b, maar dit is aanpasbaar via het uitklapmenu).

Je kunt zo’n virtuele printer ook inzetten om documenten automatisch als PDF/A op te slaan in een zelf te bepalen map. Maak hiervoor in PDFCreator op het tabblad Profielen een nieuw profiel aan (bijvoorbeeld PDF/A in map Facturen), kies bijvoorbeeld PDF/A-2b als formaat en geef tevens een specifieke opslaglocatie op. Koppel dit profiel op het tabblad Printer aan een nieuwe virtuele printer (bijvoorbeeld PDF/A-facturen). Zo maak je meerdere profielen en printers aan, waarbij elk PDF/A-bestand automatisch in een andere map terechtkomt.

Je kunt ook meerdere virtuele printers aanmaken, telkens met een aangepast profiel.

Tip 3: Mobiel

Een vlakbedscanner is zeker handig, maar niet noodzakelijk, want je kunt tegenwoordig ook prima scannen met je smartphone. Met de juiste app wordt het beeld automatisch ge-OCR’d en indien nodig rechtgetrokken. Een van de betere apps is Adobe Scan, beschikbaar via www.kwikr.nl/adobescan of in de appstore van Android en iOS.

Installeer en start de app. De gratis versie volstaat meestal, al laat de betaalde versie (circa 10 euro per maand) je onder meer tot 100 pagina’s per bestand scannen (in plaats van 25) en pdf’s exporteren naar Office 365-formaten.

Meld je aan, bijvoorbeeld via je Google-account, en tik op Scan. Je kunt het resultaat onder meer uitsnijden, roteren en de helderheid en het contrast aanpassen. Kies Blijven scannen voor extra pagina’s of tik op PDF opslaan zodra je klaar bent. De pdf belandt standaard in je Adobe-account (https://acrobat.adobe.com), maar je kunt het bestand ook delen of (via Meer) bijvoorbeeld opslaan in Google Drive. Het pdf-bestand is standaard doorzoekbaar, controleer bij Voorkeuren of Tekstherkenning uitvoeren op opgeslagen PDF wel is ingeschakeld, maar het is geen PDF/A. Wil je dat, dan kun je het bestand alsnog omzetten met reeds eerder vermelde, gratis tools als NAPS2 of PDFCreator (zie ook kader ‘Pdf-printer’).

Met (het gratis) Adobe Scan kun je ook meerdere pagina’s laten OCR’en en in één pdf bewaren.

Tip 4: Tags koppelen

Om naderhand snel het gewenste document te kunnen terugvinden, zorg je er dus allereerst voor dat je documenten doorzoekbaar zijn (bij pdf’s kan dit via OCR: zie tip 2). Je kunt gerust ook zelf extra trefwoorden, zeg maar digitale kleefbriefjes, aan je documenten koppelen.

Met een tool als TagSpaces (www.tagspaces.org, Windows, macOS en Linux) tag je in één keer meerdere bestanden en mappen met eigen trefwoorden. Bestaande tags voeg je simpelweg toe door ze naar bestanden te slepen. TagSpaces heeft ook een krachtige zoekfunctie waarmee je snel documenten met de juiste tag(s) terugvindt.

Handig zijn ook ‘smart tags’: je bepaalt dan zelf de criteria, waarna nieuwe bestanden automatisch de juiste tags krijgen. Deze tags kun je opslaan in aparte sidecar-bestanden (JSON) of je voegt ze achteraan de bestandsnaam toe: een bestand als aanpassing.pdf bijvoorbeeld wordt dan iets als aanpassing[huur indexering].pdf. De betaalde Pro-versie (42 euro per jaar) heeft enkele geavanceerde opties, zoals het toekennen van tags op basis van lokale AI-taalmodellen.

TagSpaces is een krachtige taggingtool, maar met een zekere leercurve.

Tip 5: Tags zoeken

Vind je TagSpaces toch wat overkill, dan zijn er andere manieren om documenten van (doorzoekbare) trefwoorden te voorzien. Je kunt in Verkenner (met sneltoets F2) trefwoorden toevoegen aan de bestandsnaam, maar het kan ook anders. Klik met rechts op een bestand of selectie, kies Eigenschappen en open het tabblad Details. Afhankelijk van het bestandstype kun je hier tags toevoegen bij velden als Titel, Onderwerp, Labels, Categorieën en Opmerkingen. Dit werkt goed bij bijvoorbeeld Office-bestanden en afbeeldingen, maar pdf-documenten laten zich minder makkelijk taggen. Dit kan bijvoorbeeld wel bij het aanmaken van zo’n document vanuit NAPS2 of PDFCreator. Bij deze laatste kun je bij een profiel titel, auteur, onderwerp en trefwoorden meegeven.

Vanuit de Verkenner kun je vervolgens zoeken op deze tags, ook in pdf-bestanden (ook al zijn ze niet zichtbaar op het tabblad Details). Navigeer naar de juiste map of het station en typ in de zoekbalk van de Verkenner labels:<trefwoord>.

Werkt dit niet, dan ontbreekt waarschijnlijk een geschikt zoekfilter. Je kunt zo’n Adobe-IFilter alsnog installeren via deze link. Je kunt dit controleren vanuit het Configuratiescherm: open Indexeringsopties, klik op Geavanceerd en scrol op het tabblad Bestandstypen naar pdf. Daar hoort PDF Filter (of eventueel Reader Search Handler) te staan, en Eigenschappen en inhoud van het bestand indexeren moet zijn ingeschakeld. Zorg er tevens voor dat alle gewenste mappen zijn opgenomen bij Deze locaties beheren (via de knop Wijzigen).

Met het juiste filter kun je ook vanuit de Verkenner naar tags binnen pdf-documenten zoeken.

Tip 6: Opslagstructuur

Je documenten zijn nu doorzoekbaar en mogelijk ook getagd, maar er is nog een derde belangrijk aspect: bewaar alles met logische bestandsnamen in een doordachte mappenstructuur.

Voor bestandsnamen plaats je de belangrijkste info, zoals projectnaam en/of datum, liefst vooraan. Gebruik de ISO-notatie (JJJJ-MM-DD), zodat je bestanden makkelijk chronologisch sorteert. Zoals vermeld in tips 4 en 5 kun je de naam aanvullen met trefwoorden, gescheiden door een koppelteken of onderstrepingsteken (vermijd spaties of speciale tekens). Eventueel voeg je achteraan een versienummer toe, zoals _v1. Een voorbeeld is 2025-08-31_Huurcontract_Appartement_v1.pdf.

Breng de bestanden onder in een logische structuur, bijvoorbeeld op datum, per project of klant, of per categorie (zoals Huis, Werk, Gezondheid, Financieel enzovoort). Je zult merken: dankzij consistente map- en bestandsnamen vind je documenten sneller terug.

Sneller zoeken binnen een logische mappenstructuur (en met labels).

Tip 7: Organisatietool

Je hebt een logische mappenhiërarchie opgezet, maar je moet natuurlijk ook zorgen dat documenten in de juiste map terechtkomen. Externe hulp van een organisatietool als het gratis Dropit (www.dropitproject.com, werkt nog onder Windows 11) of File Juggler (www.filejuggler.com, betaalde versie 44 euro) kan daarbij handig zijn. We bekijken kort deze laatste.

Start de geïnstalleerde tool op en klik op Add rule (of eerst op Add rule group als je de regels wilt categoriseren). Stel dat je alle pdf’s die in de map \gedeeld terechtkomen automatisch wilt verplaatsen op basis van trefwoorden. Vul dan Description in en klik op de knop met drie puntjes bij Monitor om de bronmap te kiezen. Via het tandwielpictogram kun je eventueel Examine everything regularly <frequentie> between checks instellen, wat ook goed werkt voor gedeelde netwerkmappen.

Klik daarna op de plus-knop bij If en stel het filtercriterium in, bijvoorbeeld: Any of the following / Other / PDF Properties / Keywords. Bevestig met Insert en geef het trefwoord op bij Contains / Text. Je kunt via de plus-knop extra filters instellen en kiezen tussen Any of All of the following.

Leg nu de gewenste actie vast bij Then: klik op de plusknop, kies bijvoorbeeld Move file en vul de doelmap in bij to. Bewaar je filter met Save and close. Op het tabblad Rules klik je op de pijlknop naast je filter om het te activeren. Test het resultaat.

Organiseer je bestanden automatisch op basis van eigen, gecombineerde zoekfilters.

DMS

Met de tips rond doorzoekbaar maken, taggen en ordenen uit dit artikel, en met tools als TagSpaces en File Juggler, raak je al ver. Wil je je administratie nog professioneler organiseren, dan kom je uit bij een volwaardig Document Management System, kortweg DMS. Flexibele opensource-tools zijn bijvoorbeeld Papermerge en Paperless NGX. Beide installeer je het makkelijkst op Windows via Docker (Docker Desktop for Windows, met WSL2).

Na installatie bereik je het browserdashboard van de tool standaard via http://<ip-adres>:8000. Beide tools bieden OCR aan om gescande documenten doorzoekbaar te maken. Je documenten kunnen ook automatisch worden verwerkt op basis van eigen filters, en er zijn krachtige zoekopties ingebouwd. Beide tools kun je meteen uitproberen via een online demo (log in met demo / demo).

Een krachtig DMS als Paperless-ngx maakt het bijhouden van je administratie veel efficiënter.

Tip 8: Zoektool

Zoals gezegd laat de ingebouwde zoektool in Windows je met de juiste filters en instellingen ook zoeken naar metadata, zoals trefwoorden in pdf’s. Met zoekfilters en operatoren zijn zelfs complexe opdrachten mogelijk, zoals labels:factuur auteur:Toon van Daele grootte:>300kB gewijzigdop:dit jaar. Echt gebruiksvriendelijk of handig is deze functie helaas niet. Je bent dan beter af met een tool als Agent Ransack (alias Filelocator Pro, www.mythicsoft.com/agentransack). Ook de gratis Lite-versie ondersteunt netwerkshares, Booleaanse operatoren, reguliere expressies en zoeken naar metadata via IFilter.

Start de tool, zet deze op Expert en open het tabblad Hoofd. Vul bij Bevat tekst je zoekterm in en bij Zoek in het gewenste station of de map. Eventueel kun je ook filters instellen voor Grootte en Gewijzigd Na / Voor. Op het tabblad Datum voeg je extra tijdsfilters toe en op het tabblad Opties vink je zeker Office en PDF documenten aan. Vul je bij Bevat tekst een pdf-trefwoord in, dan vindt Agent Ransack ook de bijbehorende bestanden. In het tabblad Treffers (rechtsonder) zie je bij gevonden bestanden bijvoorbeeld Keywords: <gezocht_trefwoord>. Met een dubbelklik open je meteen het bestand.

Agent Ransack laat gecombineerde en krachtige filters toe en zoekt ook in metadata.

Tip 9: Back-ups

Je administratie digitaliseren is een goed idee, maar dit is pas veilig met een degelijke back-upstrategie. Het best hanteer je hier de 3-2-1-regel: drie datakopieën (hoofdversie en twee back-ups), op twee soorten media, waarvan minstens één kopie op een andere locatie. Zo bescherm je je data tegen hardwarestoringen, ransomware, brand en diefstal.

Een uitstekende gratis en opensource back-uptool is Duplicati (www.duplicati.com, Windows en macOS), die we zelf al jaren dagelijks geautomatiseerd gebruiken voor back-ups naar zowel een netwerkschijf (NAS) als de cloud (Google Drive).

Installeer het gedownloade msi-bestand. Klik na afloop met rechts op het programma-pictogram in het Windows-systeemvak en kies Open om het browserdashboard te starten. Verschijnt First Run Setup, klik dan op Yes en stel een wachtwoord in. Je kunt Duplicati in je browser openen via http://localhost:8200. Wil je ook toegang vanaf een andere pc in je netwerk, open Instellingen in Duplicati en vink Remote toegang toestaan aan, zodat het dashboard bereikbaar is via http://<intern_ip-adres>:8200. Klik vervolgens op +Back-up toevoegen, laat Een nieuwe back-up instellen geselecteerd en vul een naam in. Schakel bij opslag buiten je netwerk versleuteling in. Geef vervolgens doel- en bronlocatie op en bepaal wanneer en hoe vaak de back-up wordt uitgevoerd. Duplicati maakt standaard incrementele back-ups, waarbij alleen nieuwe of gewijzigde data worden opgeslagen, waardoor het back-upvolume beperkt blijft.

Duplicati is een betrouwbare, gebruiksvriendelijke en flexibele back-uptool.

Tip 10: Beveiliging

Een goede back-upstrategie is cruciaal om je data veilig te bewaren, maar veiligheid draait ook om privacy. De beste manier om te voorkomen dat onbevoegden inzage krijgen in je (medische, financiële …) gegevens is versleuteling. In tip 9 vermeldden we al dat je in Duplicati back-ups automatisch kunt versleutelen met sterke AES-256-encryptie. Maar ook de data op je originele opslaglocatie wil je wellicht beveiligen.

Hiervoor kun je een gratis opensource-tool als VeraCrypt gebruiken, die naast containerbestanden ook complete partities of schijven kan versleutelen met sterke algoritmen als AES-256. We hebben niet de ruimte hier verder op in te gaan, maar hier vind je meer uitleg. Ook handig is Cryptomator om via je lokale synchronisatiemap data te versleutelen bij cloudopslagdiensten als Google Drive, OneDrive of Dropbox. Je vindt hier meer uitleg daarover.

Daarnaast kun je voor diverse documenttypes ook individuele bestanden beveiligen met een wachtwoord, al is dit vaak minder robuust dan een volledig versleutelde opslaglocatie. Dit kan bijvoorbeeld vanuit verschillende Office-applicaties, maar ook met pdf-tools zoals NAPS2 (bij PDF-instellingen vink je PDF versleutelen aan) en PDFCreator (bij Profielen, via Actie toevoegen / Versleuteling).

Ook in NAPS2 kun je pdf-documenten met een wachtwoord beveiligen.