Latest Posts

The irony of LLM hallucinations


The advent of LLMs (Large Language Models) has been nothing short of revolutionary. Building intelligence from text (and code), is something that I didn't think would be likely. One may argue about the essence of it, but the result is undeniable, and it's only a start.

We now have a seed of alien intelligence, and it's something that is improving possibly at an exponential rate. This is the real deal, but it comes with some flaws.
One common complaint about LLMs is that of the "hallucinations" that they can produce. An hallucination in this context is generated information that is patently untrue, presented without any hesitation. It's a kind of delivery that our human brain finds uncharacteristic of an intelligent being.

This is something that I think it's probably already fixable (see my ChatAI project) with some forms of cross-referencing, and it's not yet deployed due to resources required. I don't consider this to be a major issue for the future, but it's something that got me thinking...

I think that it's ironic how quickly we point the finger at the flaws of these systems, while at the same time we're so inherently flawed to such a depth that we don't yet fully realize it. As AI will improve, this will become more evident, and at some point we'll have to do some introspection and see if we can afford to go on as we have had so far.

Humans live in a bubble of total delusion, both at the individual and at the mass level. Our delusion is not simply an existential one, which would be a noble thing, but it's lower level than that: we lie to ourselves and to others on a constant basis due to tribalism and indoctrination that we receive from the day that we're born.

School, corporations, governments, religious groups, politicians, journalists, experts, scholars, you name it. There's a constant stream of delusional, selfish, malicious or clueless people that poison the well at the higher level, constantly crippling society.
Corruption, thirst for power, idealism, anything for which "the end justifies the means" is usually a sign that something is rotten and is going to hold back progress.

Perhaps we thought that in the information age things would get better, but what we got is information overload, and most of it is biased and purposely given to us to steer us in one direction or another.
The information age clearly didn't bring the sort of enlightenment that we may have hoped for, but perhaps the AI models (especially the open sourced ones) will start to help the individual to deal with the problem of information overload that has been crippling us.

Regardless, I think that we should be more humble when we criticize the flaws of the current AI models, and take that a as jumping point to do a little more introspection and realize how much we can and should improve ourselves.

I know that AI will improve. The question is whether we will improve as well.

Computer code, probably instrumental for AGI

Commodore VIC-20 (1981)

While I wouldn't consider myself an AI expert, I've been working with machine learning for a few years and have formed some understanding of the subject.

My journey with computers began with a Commodore VIC-20, attempting to communicate with it in natural language, inspired by the movie WarGames (1983). The initial disappointment from the inability to extract functionality from this tool turned into a challenge that led me to learn programming. Since then, I've had ample time to ponder logic, intelligence, problem-solving, and the essence of being intelligent and sentient, and just how far we were from creating something that could pass the Turing test. We're well past that now, and talking about AGI (Artificial General Intelligence) is legitimate, if not necessary.

Computer code as foundation for AGIs

A key realization for me has been the integral role of hands-on experience in developing a true understanding of a subject, and sometimes of a mindset. I've found that deep comprehension of complex topics often demands more than study; it requires building (often more than once) the subject matter in code. While learning styles vary, the act of creation undeniably deepens understanding. Even for those adept at absorbing knowledge from reading, the kind of comprehension that forms a foundation for further intellect often comes from practical engagement, where the journey to reach a goal is more important than the goal itself.

I believe this process of intellectual growth through implementation and creation is essential in building an AGI, and software development provides the ideal playground. Large Language Models (LLMs) have reportedly improved by learning from computer code, which is more structured than human languages. This suggests that code should remain a key resource for advancing AI systems.

An AI system with experience in building software would make a much better companion than one that can simply recall and implement things it's read about. This is akin to the difference between a wiz kid who can ace tests and a seasoned engineer who can guide you through every step of the process based on personal experience, highlighting not just the methods, but also the rationale behind them, while anticipating many of the pitfalls.

Software development has also a recursive component to it. In a previous article ("Next level thinking ?"), I mentioned how, in my opinion, recursive thinking is a fundamental building block of our intelligence.

The power of recursion here comes by way of being able to leverage software to build more complex software, as well as building the testbed for virtually any simulation that reflects the physical world. The more accurate the simulation, the less we need to rely on testing in the physical world. Testing in the physical world is not scalable, it can require a lot of resources and it's often destructive... imagine crash testing for the safety of a car: a fairly accurate simulation can drastically cut the requirement for testing. Simulation may be hard to implement, but it can allow to run a large amount of tests for a large number of configurations, more than it would be humanly possible (see also "Simulation: from weapon systems to trading").

Don't give up on programming just yet

I also think that while the ability to deal with human language is fantastic, communicating in computer code is probably more efficient in many cases. Often I ask LLMs to give me some pseudo code rather than a long explanation or a series of bullet points. Code can be more concise, it's definitely less ambiguous, and it's more of a direct building block to further knowledge and understanding.

For this reason, I also think that programming is not necessarily dead. Logical languages, such as computer languages, in many cases may become a better global language than English. Human languages are still important at the historical level, they are a reflection of what we are, but they are never going to be as efficient and precise as a rigidly structured language that runs in a digital environment.

It should be noted that OpenAI has recently introduced "Code Interpreter", which gives the ability to execute the generated Python code. As well as "function calling", which introduces pseudo-code as a way to obtain better structured answers. This level of efficiency can't possibly be replaced by human languages that maybe be a good interface between humans, but that are not very efficient nor precise when it comes to describe systems that are more analytical in nature.

A definition of reality

We should start from the premise that we operate from the point of view of self-preservation. This would be preservation of the immediate self, but also preservation of offspring and peers as a reflection, since they also represent a vehicle of the self into the future. Then, our existence is contingent on our ability to predict the future. The better the prediction, the better are the chances to stay alive and to project our own existence. "Will I be alive tomorrow if I stay into this cave ? Will I cripple myself if I walk barefoot on gravel ?"

Any prediction requires two elements:

1) Prior knowledge, the more the better.
2) Analytical tools to reliably derive an outcome from that prior knowledge.

To be efficient at this, we need to be able to process information in the most deterministic way possible. This means that the most valuable information is information that we can put through our analytical machinery (the brain, or any other sufficiently powerful calculator), and that can lead to a useful forecast of a given event.

The keyword here is "determinism", something that requires a level of rigidity that may be challenging for a human brain. This is actually where digital data storage, math and digital computers can help greatly.

The scientific method is also built on the concept of determinism. If you can consistently use prior knowledge to determine a future event, then your actions are useful and deserve more exposure. If instead a theory cannot predict the outcome, then the theory has no practical value. Of course the inability to prove something doesn't mean that a theory is necessarily invalid, but for all intents and purposes, one simply cannot rely on a formula that cannot forecast an outcome.

One could think of a deterministic structure as a web of points of determinism. A graph where each node is connected to other nodes. The more the connections, the more reliable is a certain fact established by that point of determinism. Nodes at the fringe of the web, with virtually no connections to others, must still exist, otherwise there would be no progress, but they are less reliable, because they have less support than the better interconnected points.

Image courtesy of Simon Cockell

The network structure is pervasive in nature, and it's how our brain is built. This structure is also what reality is to us: things are more or less real, depending on how well we understand them, meaning how well they relate to other pieces of data, with the goal of making useful predictions. The moment in which such structure comes less, it's also when reality dissipates. Reality is indeed a structure.

Going beyond definitions. Once we establish all this, it should be clear that to have any kind of success at any level, one is better served by leveraging determinism as much as possible (unless "success" is defined by self-destruction, but that's uninteresting and easily obtained).

In practice, establishing a robust level of determinism can be very difficult. The difficulty of establishing a clear logic connection between concepts can vary wildly. This depends on the amount of data at play and the process of analysis required to interpret those data. Most complex subjects are filtered through the lens of experts, which use their skills and experience to reduce complex subjects to a simplified form that can be easily digested by the non-expert. Experts however can often disagree on fundamental issues, hopefully in good faith, but sometimes in bad faith, too. On top of that, communication of the synthesized concepts usually goes through additional levels of simplification and bias. For larger issues, experts defer their communication to technical leaders, political leaders, public-relations, editors and finally journalists/writers.

Putting potential malice and communication issues aside, there's an inherent problem of complexity. Some fields necessarily rely on complicated statistical models to attempt to establish cause and effect while operating at a level of knowledge that is not very detailed.

Medical trials are a good example of an attempt to establish determinism from a very complex system (the human body) that in some cases one has to treat as a black box. A "black box" being a system that generates an output for some inputs, although the user doesn't completely understand the complex mechanics that make the box work. With medicine there may be a general understanding of the benefits of certain elements on the human body, but there is also hidden complexity of the system that forces researches to take a trial-and-error approach, usually starting from other, more expendable, living creatures.

The concept of "black box", stylized

Another problem with establishing determinism is that too much reality hurts. Suspension of disbelief is a necessary tool for survival. It's necessary against the nihilistic picture that naturally arises from thinking about existence. Imagination is essential both to cope with reality of existence, and to expand the vision of reality. At the same time, imagination can easily be abused to the point of becoming counterproductive.

In my opinion, while it's essential to keep a grasp on the better established aspects of reality, it's also important to let the mind run free, and to occasionally listen to "the crazies" (see "Adopt a conspiracy theorist"). This is a good mental exercise and also a reminder that reality is a dynamic concept. To push this to an extreme, in some ways, the person that cuts his arm looking for an alien microchip, may be closer to the universe than the person that wakes up at 8 in the morning to go to the office for 40 years. The schizophrenic has less ties to the common concept of reality, but our common concept of reality is also infinitesimally limited in the context of the greater universe.

A less extreme example of lateral thinking is that of religions. The modern educated man deride religions and the concept of a God, as some silly coping mechanism, however the fundamental questions that religions attempt to address never went away. One may decide to ignore those questions for a while, but they keep coming back. This is why nowadays theories about living in a simulation are so popular, it's just a modernized version of religions. It's a framing that has a better grounding with our map of reality, one that includes more advanced reasoning tools, but it's a framing that also validates the fundamental pursuit of ancient religions. In fact, the "simulation theory" could easily become the basis of new religions, where God is no longer an old man living in the clouds, but a game developer that clicks on you and checks your status from time to time.

"Little Computer People" on the C64

In conclusion, it's safe, efficient and productive to rely on the better established areas of the "reality network", but it's also important to keep in mind that there is a virtually infinite potential to explore and expand that structure, and that our point of view is extremely limited. Finding the right balance is the hard part, as with everything. Stay at the center and you're golden, but you're going to live a derivative life like any working bee, move too far to the edges, and life can become a mix of fantasy and paranoias. May the most balanced player win !

Below, a tribute to Terry A. Davis, a fellow programmer that was definitely living on the outer side of the network.

Simulation: from weapon systems to trading

When I first became interested in algorithmic trading, I didn't have any kind of trading experience. I did however have some very limited experience with flight simulation and weapons systems as an evolution from working in game development.

Although I didn't know this at the time, simulation is just about the most important thing when it comes to developing trading strategies.

In weapon systems, simulation allows to estimate how reachable a target is. This can be used either to extrapolate fundamental formulas to be applied in real-time, or the simulation itself can be executed in real-time, if a weapons system has enough mobile computing power.

In the first case, simulation can help to build tables of parameters for quick retrieval when a weapon needs to be used. Let’s say that one has a cannon with a new kind of ammo. A well-established analytical solution can be adapted for the new ammo. But for more complex cases (i.e. different aerodynamical profile of the projectile) a computer simulation can find a more precise solution. A machine learning system can try millions of possible variations of parameters, such as elevation of the gun and amount of propellant, find the best possible one for given distances, and build a table that can then be consulted when the time comes to use the cannon to hit a target at a specific location.

Below is a ballistic table used in World War 2:

WW2 ballistic tables courtesy of tankarchives.ca

Here's an interesting explanation of bomb drops procedure in Vietnam using a F-4, which didn't have a computer for the task.

In the second case, a more advanced weapon system, let’s say one in a modern jet fighter or in a modern tank, could forgo with most precalculations and instead have the simulation running live. The benefit of this second solution is that it can adapt to more variables and it can improve with a software upgrade.

In practice, setting up a simulation that is accurate enough to replace most of the experimental work, is not a simple thing, unless one is already developing a simulation, such as a flight simulation game. When the time came to build a believable weapons system in my experimental flight sim, it was only natural to use the simulation logic already developed for the game to calculate the launch envelope for a bomb or a missile, or the homing guidance for a missile.

Why manually extract a formula, when you can simply use the already existing simulation engine to test thousands of trial-runs and find the best parameters for the optimal launch envelope ? This was my epiphany in regard to the power of building a simulation to solve problems in a more generic and simpler way. Once you have a simulation for something, then you can use raw computing power to search for the best variables, whether that’s to built a table to consult at a later time, or whether it’s to be used actively up to the point of launch of a projectile, or even during flight of a guided missile.

Practical application of simulation in the real world is probably something in between. Supercomputers can be used to analyze more complicated matters such as the aerodynamics of a particular kind of fins of a missile, while on-board computers can work on launch envelopes and homing guidance. For sure, once a problem is shifted into software, chances for improvement increase sensibly.

This does connect neatly to algorithmic trading and how fundamentally dependent it is (or it should be) on the concept of simulation. No sane person should ever attempt to trade without first having a computer model. Some may disagree, but I can’t imagine how having an analytical model would hurt success.

The only drawback would be the issue of the reliability of a computer model of something that is very stochastic in nature. A weapon has little room for error. Simulating a projectile may be difficult, but the outcome is immediate and straightforward. With trading, instead, success can only be found in odds with large numbers in an highly dynamic setting. This makes the process of optimization more difficult and often counterproductive, but this is a discussion for another post.

Women and children

In 2022, war is now truly a live event. With cell phones, body cams and quad-copter drones, social media is filled with an abundance of the most disturbing footage that one can imagine.

This is certainly shocking from the perspective of societies that have lowered the bar for conflict to that of verbal micro-aggressions. At the same time, this is also very educative. It's a perspective into what humans are and can be (see also "The explosive 'boredom' problem of civilized societies").

I see interviews of people living underground and struggling simply to stay alive and find water and food, and I think of what I pictured from the WW2 stories from my grandparents.

Image courtesy of Alexander Turnbull Library

Everything checks… that's the war I've been hearing about, a war where human cost is obvious, one that feels close enough, because it's not happening to the third world. We're used to ignore the homeless in the streets, but if it's someone that looks like he has a job like us, then that's a different matter. Affinity with race also helps a lot to mobilize millions of voices on Twitter. As much as we can pretend that we don't care, we all instinctively feel more empathy towards living beings that look more like us. Our level of empathy and altruism varies in a continuous scale from two extremes, where most affinity is generated by our own children, and least affinity is probably some sort of alien insect coming from another galaxy.

Another major reality check from this war is how biological gender suddenly matters. Although some women are involved, they are very few and are usually relegated to being snipers, the kind of activity that requires less direct conflict. Most women are instead grouped with children and elders, while men are actually forced to go in combat, at least from the Ukrainian side. I think that we can safely assume that when shit truly hits the fan, the gender equity construct that has evolved in western societies goes straight into the pooper.

One could say that if there were no wars, then men and women could almost become interchangeable, but to expect a natural world without conflict is even more utopic than to expect a natural world without biological predispositions. Those that seek total equity for humanity have a better chance looking for it in the after-life, or in some fictional far future where any form of individualism is crushed together with all major human traits that make us what we are.

Meanwhile, in the real world, it would be wise to keep in touch with reality, because sooner or later the protective shield under which we are born and raised, will falter, and at that point understanding human nature will become a matter of survival.

An actual phobia, for a change

I'm not a fan of the "phobia" suffix. I think that it's easily abused these days.

One classical misuse of "phobia" is with the term "homophobia", as if straight men had nightmares of being chased at night by a cosmopolitan gay man holding a pair of sharp scissors !

Jokes aside, the presumed fear in this case would be that of the potential for straight men to find out that they may actually be attracted to the same sex. The idea is that it would be some sort of fear of the unknown. Calling someone an homophobe is an attempt to paint that person as unrefined and uncultured, someone that dismisses same-sex intercourse instinctively, someone that has not evolved to the point of going beyond his natural instincts, and that is afraid of doing so.

That is some cheap psychology that unfortunately has become mainstream and has indeed helped to put straight people on the defensive. This is the kind of propaganda that drives many men to pledge some kind of allyship just to look more socially aware.

Now for an example of an actual phobia, these days I'd put Russophobia on top. I'm impressed by the amount of people, especially in the United States, but apparently also in some countries in Europe, that suddenly appear to be fanatically anti-Russian. The 80s are back, with a vengeance !

The reason why I think that this is a legitimate phobia, is because the hate that is displayed is borne out of actual fear. Deep inside, these people realize that Russia is a force to be reckoned with. Russia is a country that even after the fall of the Soviet Union has continued to develop its own technology. This is most notable with aerospace engineering and weapon systems. I'm a big proponent of developing your own technology. In my case that would be software technology, but that's truly essential when it comes to tech that is vital to the security of a nation.

At the same time, the Russian culture hasn't been as softened as in the west. The average Russian is culturally more resilient to the concept of a full-scale war. The human cost that Russia is paying is unthinkable for the average American or European citizen. This is shocking for a population that has been so detached from conflict and that has a relatively comfortable life. A life so comfortable to the point in which public discourse has shifted towards complicated social and environmental issues that are not as consequential as they are made out to be.

Photo by Matt Hrkac/Flickr, CC BY-ND

Perhaps the most important source of this phobia is the realization that the current generation of US and Europe military have little experience with conflicts that are not asymmetrical. Simply put, America has been picking fights with 3rd world countries, bombing them to smithereens with virtually no opposition, and with no real repercussion for civilian casualties. I'm not going to say that any war is easy, but I'm sure that it's a lot scarier when your opponent also has tanks, jets, drones, cruise missiles and everything in between.

It should be noted that technology isn't simply about developing the smartest bomb or the jet with the coolest AR helmet. Technology is also essential in optimizing production of such weapons, as well as building systems that are resilient and don't require too much maintenance. F-22s and F-35s are fantastic on paper, but they are very expensive to produce and they tend to waste precious time on the ground for continuous maintenance. I'm sure that a similar argument can be made for other vehicles of the west vs those that are Russian-made.

The American and European population is scared of an adversary that isn't from the 3rd world. Meanwhile, the "emperors" that pull the strings of those respective regimes, are afraid to be found out as having no clothes. The survival of the elites of the west depends on the population to believe that those elites are virtuous, strong and powerful, but at the same time they cannot ask to their people to accept casualties, because they now live in a soft world, a world where every dead service...person is a tragedy.

The fear is real, and it's not misplaced. Hopefully the people will move from the stage of fear into one of acceptance, and will perhaps wake up from whatever dream they've been pulled into. Unfortunately it's in the human nature to wake up only when it's too late. A lot of people will have to suffer very grave conditions before they finally stop believing the cheap Hollywood action-flick narrative that they have been fed for decades.

What’s your vote really worth ?

When the time comes for some major political elections, there's always a big push to "get out and vote". A big deal is made about how every vote counts, and how if you don't participate, someone else will vote for you, meaning that the vote from others will have relatively more power. For example, in a pool of 1 million voters, if you don't cast your ballot, each voter will have a stronger impact, albeit by a mere 1 millionth of a vote.

Voting is pushed as empowering and individualistic. In reality it's a completely statistical issue. Your own vote by itself is irrelevant in the context of millions of other votes. From a purely individual point of view, you may or may not cast your ballot, and the outcome of the election will be exactly the same for all intents and purposes. No butterfly effect applies here.

To make a pop-science analogy, this can be seen as some sort of poor-man's quantum superposition. The voting booth can be considered as a closed system, where anything that happens there has no effect on the outcome of the election. The "you" that votes A, B, C or abstains, can coexist with no practical effect to the outside, all because of the extreme dilution of a single vote.

There is some value however in the intent to cast a vote in a certain way, and that is to apply self-reflection to have an estimate of the outcome of the election, at least as far as your own demographic goes. That in itself is not a greatly applicable knowledge, being in itself only a guess of a portion of the voting population, but it's more consequential than actually casting a ballot.

To me this is interesting as it highlights the duality between perceived direct decisional power and actually usable power. We're sold the idea that we have a say on things as active participants, while in reality the only true power resides in the ability to self-reflect and predict the direction of a herd, but even that is not something that is directly applicable in most cases (maybe guess how the markets will react the next day ?). The greater power is that of introspection. The act itself of realizing and reasoning over the actual practical effect, or lack thereof, of voting, is further knowledge into understanding the place of the self amidst a collective.

If the power structures were honest, they would plainly state that civic duty is not about casting a ballot, but it's actually to behave like a statistical sample. It would not be a good civic duty to behave as an observer of yourself and to act out of left field, driven by some sort of superego. It's a good civic duty instead to act predictably, as it makes things easier for the manager class in the governmental institutions, as well as for the private ones.

In practice, one could still go and vote, but at least, as a thought experiment, it's worth considering why the actual practice of casting a ballot is not an act of free-will, rather it's a statistical sampling of a collective mind that is an amalgam of popular culture shaped by mass media.

DuckDuckGo cheated on me. I’m now dating Presearch

I recently moved from DuckDuckGo to Presearch.

The reason for the move was the announcement that the engine would filter results to favor a specific party on the Russia - Ukraine conflict.

Last year DuckDuckGo did already show its cards with "woke" discrimination of potential employees, where they'd favor less skilled employees as long as they had enough melanin in their skin and relatively uncommon sexual preferences.

DuckDuckGo supposedly still shields its users from being tracked for advertisement, but I think that most users went in expecting relatively unbiased results.

It should be noted that, as far as I understand, DuckDuckGo itself is a little more than a customer of Google and other major search engines. In practice, DuckDuckGo simply buys search engine usage from Google. For this reason, it was always a temporary solution, because Google's bias its already built-in in the results, plus they could pull the plug at any time, transforming DuckDuckGo into a sitting duck. Remember: if you don't build your own technology, you're just a power user.

Presearch looks more interesting, it's decentralized, it has its own search engine and also allows to quickly select other classical search engines.
Presearch was founded by people that already years ago had issues with Google's search engine result manipulation (see: "Google Penalizes Local Businesses On City’s ’Shop Local’ Website"), so, hopefully the founders are in it for the long run.

It's important to keep in mind that Presearch is just another offer. I don't plan to get married to it, but my time as a user is better spent on a new interesting decentralized project, than supporting DuckDuckGo, which is no more than a gate keeper.