Introduction
Building several AI products over the years has left me with scars :)
There is a great piece from a16z called “The New Business of AI” which describes the main challenges in developing AI products/companies, the main takeaway is that solving for rear edge cases to reach production can be very expensive and challenging and might kill a company.
And indeed AI has a huge potential to disrupt industries but it takes some work in order to get there and might not be quite aplicable to everything, yet.
Recently there is a lot a buzz concerning generative AI. Some are calling it the real deal and that this time AI will rise to its promise. This could be read on “After A Lot Of Hype, (Useful) AI May Finally Be Here”. A more cautious opinion could be read on “Investors have big plans for generative AI. They should temper their expectations.”
Days will tell. But it’s sure is still challenging to develop an AI based product. But the outcome could be very sweet so many persue it and some deliver.
My Personal Experience
Following is my personal seven stage process for AI development:
- 𝐄𝐗𝐂𝐈𝐓𝐄𝐌𝐄𝐍𝐓: WOW, AMAZING, Deep Learning you said? Works right out of the box! Watch it go! With it, I can solve anything!
- 𝐒𝐔𝐑𝐏𝐑𝐈𝐒𝐄: Hold on a second, It seems that it doesn’t work for just a few use cases. Let me tweak the model just a little bit.
- 𝐃𝐄𝐍𝐈𝐀𝐋: Oh.. interesting, not quite there yet. I’ll add some rare edge cases and retrain the model. It should do the work.
- 𝐆𝐑𝐈𝐄𝐅: Oh No! There is no way it will work! I’m terrible at this.
- 𝐀𝐍𝐆𝐄𝐑: That’s it. I’m done. Let’s change the product! let’s build a face detector it works with 99.9999% accuracy (I think)
- A𝐂𝐂𝐄𝐏𝐓𝐀𝐍𝐂𝐄: Ok, no problem. let’s build our own dedicated infrastructure data/models/serving. We’ll have to do specific tuning per customer of course. If it’ll become too expensive we’ll build our own hardware. We’d also have to do some continuous model training and hire a dedicated work-force per project. You know what, just to be on the safe side, let’s limit the product scope and include humans in the loop (but just for the first two years..)
- 𝐉𝐎𝐘: Yay!!! it’s in production! Real people actually use it!!
fastdup
From the start, we wanted to build fastdup differently , we wanted zero-touch integration, scale, very high accuracy, and a great user experience. For fastdup users and for us, we wanted joy from step 1
Our joy at watching what the fastdup community is building (without us involved at all) is immense.
Below are some public use cases that some Kaggle users have discovered using fastdup.
We thank our community and looking forward to building great things together.
Introduction to Image Captioning
h2
h3
Image Captioning is the process of using a deep learning model to describe the content of an image. Most captioning architectures use an encoder-decoder framework, where a convolutional neural network (CNN) encodes the visual features of an image, and a recurrent neural network (RNN) decodes the features into a descriptive text sequence.
VQA
Visual Question Answering (VQA) is the process of asking a question about the contents of an image, and outputting an answer. VQA uses similar architectures to image captioning, except that a text input is also encoded into the same vector space as the image input.
code
Image captioning and VQA are used in a wide array of applications:
- point
- point
- point
Why Captioning With fastdup?
Image captioning can be a computationally-expensive task, requiring many processor hours to conduct. Recent experiments have shown that the free fastdup tool can be used to reduce dataset size without losing training accuracy. By generating captions and VQAs with fastdup, you can save expensive compute hours by filtering out duplicate data and unnecessary inputs.
quote
Getting Started With Captioning in fastdup
To start generating captions with fastdup, you’ll first need to install and import fastdup in your computing environment.
Processor Selection and Batching
The captioning method in fastdup enables you to select either a GPU or CPU for computation, and decide your preferred batch size. By default, CPU computation is selected, and batch sizes are set to 8. For GPUs with high-RAM (40GB), a batch size of 256 will enable captioning in under 0.05 seconds per image.
To select a model, processing device, and batch size, the following syntax is used. If no parameters are entered, the fd.caption() method will default to ViT-GPT2, CPU processing, and a batch size of 8.
“The captioning method in fastdup enables you to select either a GPU or CPU for computation, and decide your preferred batch size. By default, CPU computation is selected, and batch sizes are set to 8. For GPUs with high-RAM (40GB), a batch size of 256 will enable captioning in under 0.05 seconds per image.”
Dean Scontras, AVP, Public Sector, Wiz
FedRAMP is a government-wide program that provides a standardized approach to security in the cloud, helping government agencies accelerate cloud adoption with a common security framework. Achieving a FedRAMP Moderate authorization means Wiz has gone under rigorous internal and external security assessment to show it meets the security standards of the Federal Government and complies with required controls from the National Institute of Standards and Technology (NIST) Special Publication 800-53.
Image captioning and VQA are used in a wide array of applications:
- ⚡ Quickstart: Learn how to install fastdup, load a dataset, and analyze it for potential issues such as duplicates/near-duplicates, broken images, outliers, dark/bright/blurry images, and view visually similar image clusters. If you’re new, start here!
- 🧹 Clean Image Folder: Learn how to analyze and clean a folder of images from potential issues and export a list of problematic files for further action. If you have an unorganized folder of images, this is a good place to start.
- 🖼 Analyze Image Classification Dataset: Learn how to load a labeled image classification dataset and analyze for potential issues. If you have labeled ImageNet-style folder structure, have a go!
- 🎁 Analyze Object Detection Dataset: Learn how to load bounding box annotations for object detection and analyze for potential issues. If you have a COCO-style labeled object detection dataset, give this example a try.