What is an AI Agent?
An AI agent is a software program that can interact with its environment, gather data, and use that data to achieve predetermined goals. AI agents can choose the best actions to perform to meet those goals.
Key characteristics of AI agents are as follows:
An agent can perform autonomous actions without constant human intervention. Also, they can have a human in the loop to maintain control.
- Agents have a memory to store individual preferences and allow for personalization. It can also store knowledge. An LLM can undertake information processing and decision-making functions.
- Agents must be able to perceive and process the information available from their environment.
- Agents can also use tools such as accessing the internet, using code interpreters and making API calls.
- Agents can also collaborate with other agents or humans.
Multiple types of AI agents are available such as learning agents, simple reflex agents, model-based reflex agents, goal-based agents, and utility-based agents.
A system with AI agents can be built with different architectural approaches.
1 - Single Agent: Agents can serve as personal assistants.
2 - Multi-Agent: Agents can interact with each other in collaborative or competitive ways.
3 - Human Machine: Agents can interact with humans to execute tasks more efficiently.
Over to you: Have you used AI Agents?
#python #datascience #machinelearning #deeplearning #ai #artificialintelligence #programming #developer #softwaredeveloper #computerscience #calculus #linearalgebra #algebra #maths #mathematics
Recently had several chats on AI4Science alignment/RLHF stuff, and realized that I missed posting our NeurIPS24 work:
A brief thread:
Aligning Target-Aware Molecule Diffusion Models with Exact Energy Optimization
Paper: https://t.co/iFsSgxcxeR
Code: https://t.co/nLxGE0HY4d
1/n
Why do LLMs trained on over 90% English text perform so well in non-English languages?
We find that they learn to share highly abstract grammatical concept representations, even across unrelated languages!
New paper w/ @wendlerch and @amuuueller
One big (replicated!) finding on AI doesn’t get enough attention: existing systems like GPT-4
can alter deeply held beliefs using logic & discussion, not manipulation.
A short conversation with AI greatly reduce conspiracy theory beliefs (hard to do!) & the effects last months.
Are o1-like LLMs thinking deeply enough?
Introducing a comprehensive study on the prevalent issue of underthinking in o1-like models, where models prematurely abandon promising lines of reasoning, leading to inadequate depth of thought.
🪡 Through extensive analyses, we found underthinking patterns:
1⃣Occur more frequently on harder problems,
2⃣Lead to frequent switching between thoughts without reaching a conclusion,
3⃣Correlate with incorrect responses due to insufficient exploration.
🪡We introduce a novel underthinking metric that measures token efficiency in incorrect responses, providing a quantitative framework to assess reasoning inefficiencies.
🪡 We propose a decoding approach with thought switching penalty (Tip) that encourages models to thoroughly develop each line of reasoning before considering alternatives, improving accuracy without additional model fine-tuning.
Paper: https://t.co/k0r2jFYnZB 🧵
new blog post: friendly intro to GRPO
the algorithm is quite simple and elegant when you compare it to PPO, TRPO etc - and it's remarkable how well that worked out for deepseek R1.
link in replies.
this is how i learn gpu programming and CUDA to make it easier for me:
- the most important part is to really understand how the GPU is structured and the memory hierarchy within it i.e. global memory, constant memory, caches, shared memory, registers, and so on.
- secondly, stop thinking sequentially. i mean think about how the execution of your operation will look like in parallel. think about the data flow and the operations involved.
- CUDA relies on grid of blocks, and blocks of threads. understand the distinction between when to map your data to the threads, and when to map the threads to your data.
- before jumping to writing any kernels, take a pen and a paper and just start visualizing the threads (and blocks) of the kernel and what you want them to do.
- for CUDA, make sure you understand pointers and how you can play around with the indices to fetch/write data.
- really pay attention while reading the book below, and also watch the corresponding video. read the code of others to try and understand what's happening there.
- practice, practice, practice.
Highly recommend @ykilcher's video on GRPO - the RL algo used in DeepSeek R1, first introduced in the DeepSeek Math models 1 year ago - Feb 2024!
The video talks about PPO, REINFORCE, KL divergence, advantages & more!
Video https://t.co/W4fCrND6X4
Paper https://t.co/pdb7RuwrV6
Mixture-of-Mamba (MoM) from @Stanford, @CarnegieMellon and @AIatMeta expands the benefits of Transformers to State Space Models (SSMs), making them better for multimodal tasks.
MoM selects the best processing pathways for text, images, or speech dynamically, using modality-aware sparsity (it's like a router in MoE).
Benefits:
• MoM only needs 25-40% of the processing power (FLOPs) of traditional methods.
• It performs well across various multimodal settings, including:
- Transfusion (text + continuous images),
- Chameleon (text + discrete images)
- a new three-modality setup (text + images + speech).
Here's how it works:
This paper by THUDM deserves attention, too!
It's a bit like R-1 / Kimi 1.5 but comes with many interesting ablations that are not covered elsewhere.
It also outperforms QWQ-32B and o1-preview on AIME.
Last week while everyone was DeepSeeking, I noticed some mentions of an optimizer I hadn’t heard of, Kron. When @clashluke and @borisdayma are looking at an optimizer, usually worth a glance!
Kron is in the PSGD optimizer family, using Kronecker-factored preconditioners. I’ve tried other optimizers using second order approximations w/ preconditioners: Shampoo, SOAP, Muon, etc… but they often required a lot of tuning/fiddling to get them working and I rarely managed to get them working well (test error go down please!) on familiar small to modest sized tasks. As with some of the optimizers and enhancements I added to timm to close out 2024 — MARS, Adopt, Caution, etc — this appears to work well, *really* well in some cases, usually without much fiddling.
I should point out, while PSGD may sound similar to Shampoo, SOAP, etc... they way they update the preconditioner... fit/estimate the hessian, use second order info, etc is quite different.
I've added an implementatio to timm, give a try.