Java and AI? - Inside Java Newscast #72

preview_player
Показать описание
AI development can be split into three categories: developing an ML model (where Java isn't competitive and is unlikely to become top of the class any time soon), developing an AI-centered product (where Java is well-positioned and will become stronger soon; but does this category matter in the long run?) and adding AI-based features to larger projects (where Java is already very good and will only become stronger thanks to Valhalla's value types, Panama's FFM and vector APIs, and Babylon's code reflection).

*Chapters*

0:00 Intro
1:06 Three Kinds of AI
2:48 AI Features in Java
6:45 AI Products in Java
7:41 AI Development in Java
9:38 Outro

*Tags* #Java #OpenJDK #AI
Рекомендации по теме
Комментарии
Автор

I prefer Java rather than Python because it is concise. Conceptually, it is clearer than Python. Python is confuse regarding OOP.

victorpinasarnault
Автор

Thanks for taking such a measured approach to this topic (as opposed to coming out like a Java-only cheerleader). I respect and trust your information much more because of that. I’m currently a Java developer starting a Masters in AI (mostly Python), so I’m interested to see how the two are integrated over the next couple of years.

RickGladwin
Автор

Visualization tools in Java reminds me my JavaFX 8 project, where you couldn’t assign color to particular colors in own order. There was a bug that the color was assigned to Id and removing and adding new dataset to plot rearranged them in the order of adding. The Id was private and the color was derived from it, so it was pretty annoying to get colors consistent without reaching out to reflection and accessing private properties of adding virtual items and removing them to increase Id to expected color value

SergiuszRoszczyk
Автор

Project Valhalla is 10 years old. Many of us gave up on it long ago. Project Panama is still in preview or not delivered (vector API) and Babylon does not even have a JEP to follow.
In the mean time, Python is gathering momentum which will be difficult to match

DavidDLee
Автор

I waited for this topic for quite some time😀

YuanBo
Автор

Other helpful properties you mention are very much important for any data scientist to pick java as their first choice, particularly visualization tools. hopefully amber can do something about it.

ijvisng
Автор

I prefer Java rather than Python because I am waiting for Valhalla

forKotlinsky
Автор

And regarding Nikolai’s list, in my opinion, what’s most important for data science workflows and UX is a perfect data frame library, on par with Pandas, Polars, R data.table, etc., and close in efficiency, also to DuckDB. Easy integrations with SQL databases and Spark. Kotlin also offers a new data frame library, though I can’t tell much to its efficiency and feature parity. There’s a recent JetBrains talk specifically on their DataFrame library. It would be great if the community could focus on just one implementation and make it shine instead of a myriad incomplete, half-baked attempts. In addition, it will be hard to convince data science folks to move over to Java for that kind of work. Spark jobs are mostly for data engineers with some experience in Scala. That doesn’t always immediately translate to actual data science workflows. It might be easier to just run Python workloads by FFI. If that integration becomes truly seamless, 80% of issues will be solved outright.

Nick-ydrc
Автор

Thanks for the video.

Q: Why is operator overloading a desired feature in ML/AI? In my experience (c++/scala) operator overloading obfuscates logic. As a colleague used to say, "Operator overloading is syntactic sugar that brings cancer of the semi-colon" 😂

farkarf
Автор

I am a Java Fanboy and I admit that Java lacks essential features to be effectively useful in AI/ ML/Datascience projects.

Doing matrix or tensor operations in Java is extremely hard and painful.
Working with high dimensional data as well.

alcarsharif
Автор

It seems like Babylon and Valhalla won't be enough to make a half float implementation palatable to developers due to the lack of operator overloading. You'd still end up writing code like instead of `hf1*hf2 + hf3*hf4` or am I wrong?

jay_sensz
Автор

8:21 Nice to see an acknowledgement from an Oracle employee of the downsides of checked exceptions.
Any chance of Project Amber developing an opt-out feature for checked exceptions?

vinterskugge
Автор

I can't wait for another ten years before all projects are made reality 💀

VuLinhAssassin
Автор

I wish for a Java that solved the problem of dealing with checked exceptions across libraries.

CliqueSpace
Автор

worth to mention 'mukel/llama3.java', a java implementation of llama.cpp, that work's only 10-20% of pure c implementation.

mdfkjje
Автор

Wait "maybe operator overloading"? WHere can I read about that, I googled for it but couldn't find anything :-)

quintesse
Автор

M$ use to make videos like this all the time... java ecosystem has got a real problem it needs to resolve asap

andriespretorius
Автор

Unlike c-like languages Python support tuples and multiple return values, that's why it fits better AI code. There's no magic behind this.

andreadelbene
Автор

This topic, in my opinion, is becoming the next run-a-way "Hype Train" of the USA (bigger than a "Pet Rock" from the 1970's). I have used ChatGPT, and it clearly does some pretty amazing things in its ability to speak grammatically correct English. In fact, in my wildest dreams, I never thought I'd be able to ask programming questions about Java, and have code shot back out at me by AI!

However, ChatGPT's models took months to train and it has been said multi-millions of dollars of hardware. When Nicolai says "Java can do AI", it sounds like an extremely over-simplified statement to me. What part of A.I. is Java going to do? Right now I could write a Java-based App to communicate with Open-AI's system and ask it questions, right?

Open-AI didn't even use GPU's, they used something called TPU's, and they are very expensive. Project Panama's Vector-API is supposed to be something that allows for programming GPU's, correct? It seems to me like a series of hour-long videos from expert programmers about this topic would be the right attitude.

rtorello
Автор

Is Java good for SQL databases? No. Do we care? No. Why would I want the AI engine written in Java? AI services like embedding, vector db, and llm are services I can quickly call from Java.

PeterVerhas