<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://adityakaran.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://adityakaran.github.io/" rel="alternate" type="text/html" /><updated>2025-10-23T15:51:22-05:00</updated><id>https://adityakaran.github.io/feed.xml</id><title type="html">Aditya Karan’s Personal Website</title><subtitle>personal description</subtitle><author><name>Aditya</name><email>LASTNAME + 2 @illinois.edu</email></author><entry><title type="html">Algorithmic Collective Action with Two Collectives</title><link href="https://adityakaran.github.io/posts/2025-06-19-ACA-two-collectives/" rel="alternate" type="text/html" title="Algorithmic Collective Action with Two Collectives" /><published>2025-06-19T00:00:00-05:00</published><updated>2025-06-19T00:00:00-05:00</updated><id>https://adityakaran.github.io/posts/ACA-two-collectives</id><content type="html" xml:base="https://adityakaran.github.io/posts/2025-06-19-ACA-two-collectives/"><![CDATA[<p><strong>Note a version of this can be found on the <a href="https://crowddynamicslab.github.io/collective/action,/machine/learning/2025/06/19/two-collectives/">Crowd Dynamics Lab</a> website. It is also co-authored with <a href="https://www.nickmvincent.com/">Nicholas Vincent</a> and <a href="http://www.karriekarahalios.com/">Karrie Karahalios</a> and may appear elsewhere.</strong></p>

<h2 id="summary">Summary</h2>

<p>Swifties organizing to promote new versions of songs, artists intentionally adding adversarial watermarks to protect their own work, and people adding positive articles about themselves to make LLMs make positive associations with their name. All of these examples demonstrate how people can change their behavior to get specific outcomes out of ML systems. Algorithmic Collective Action (ACA) encompasses many such situations in which groups of people engage in some coordinated activity to achieve a certain result from a ML model. From <a href="https://www.the-independent.com/arts-entertainment/music/news/taylor-swift-fearless-fans-b1829051.html">empirical examples</a>, and <a href="https://arxiv.org/abs/2410.12633">prior theoretical work</a>, we see that small collectives really can alter the behavior of  ML models (often focusing on a certain subset of the data) by engaging in collective action.</p>

<p>As these large systems are expected to grow, multiple groups may try to engage in collective action. These groups can have different objectives and because of the complexity and often blackbox nature of these models, it’s hard to predict what could happen. If we think of each of these collectives as trying to adjust the underlying model behavior (weights), what happens when multiple collectives try to do the same thing? How should we reason about ACA when multiple collectives are at play?</p>

<p align="center">
<figure>
  <img id="adjusting_weights" src="/images/two_collectives/adjusting_weights.png" />
&nbsp;
</figure>
</p>

<h2 id="what-we-did">What we did</h2>

<p>Our <a href="https://arxiv.org/abs/2505.00195">paper</a> (appearing at ACM <a href="https://facctconference.org/">FAccT</a> 2025) explores this design space in several ways. We first introduce a collective action framework, which formalizes the components of collective action. In particular, we note that when multiple collectives engage in the system, the final dataset used to train composes of each of the collective’s data modification + the unperturbed data. This ultimately produces new parameters, which are then used to measure the group’s collective.</p>

<p align="center">
<figure>
  <img id="framework" src="/images/two_collectives/framework.png" />
&nbsp;
</figure>
</p>

<p>The main components of collective action are:</p>

<ol>
  <li><strong>Number of Collective and Objectives</strong>: What are the collectives and what are their objectives?</li>
  <li><strong>Collective Composition</strong>: Who is making up the collective?</li>
  <li><strong>Model Access</strong>: What level of access does the collective have?</li>
  <li><strong>Action Availability</strong>: What actions can the collective take?</li>
  <li><strong>Affected Party</strong>: Who is the target of collective action?</li>
  <li><strong>Measurements</strong>: How does the collective measure its own success?
In introducing this framework, we aim to support further exploration into, and consideration of, the factors that go into determining possible outcomes of collective action, especially in the presence of multiple groups.</li>
</ol>

<p>To illustrate the point, we also designed experiments to understand the success of collective action when two collectives participate vs just one. It turns out just adding one more collective already adds a lot of complexity into collective action scenarios.
Consider a scenario where a company uses AI to analyze resumes. This collective, really wanting to get a certain job, works together to plan to slightly modify their resumes to cause an ML model to output particular classification results. We denote the individual classes with letters A/B and unique characters with numbers. For example A100 is targeting class A with a character identified with “100” (actual characters used can be found in the paper)
We find that depending on the specific modification strategy, these collectives can either hurt or help each other. For example, below we see the collective’s hurting each other when both are acting.</p>

<p align="center">
<figure>
  <img id="with_annotation" src="/images/two_collectives/with_annotation.png" />
&nbsp;
</figure>
</p>

<p>While in other cases, there’s very little impact.</p>

<p align="center">
<figure>
  <img id="non_conflicting" src="/images/two_collectives/non_conflicting.png" />
&nbsp;
</figure>
</p>

<p>Why is this important? It suggests that examining collective action in isolation could obscure the important interaction effects that occur when multiple groups engage. More broadly speaking, it also signals the need to understand what outcomes different groups want out of ML systems, and what changes or strategies they may use to achieve this desired goal. It behooves both platforms and other collectives to understand these dynamics and how they may affect ML systems more broadly.</p>

<p>This framework also opens many other avenues to explore to further understand important considerations in algorithmic collective action. For platform developers, understanding how and why different groups might want different outcomes from ML models can help illustrate a stronger understanding of how data is generated. For organizers, understanding how to avoid conflicts with other groups, and how to optimize the composition could play a key role in success.</p>

<p>We examine some of these implications further in our full paper. We hope that our framework and experiments serve as launching points to explore more deeply the power and limitations of collective action on algorithmic system. The paper, which also dives into other set of experiments looking at heterogeneity and discusses on the role collective action may or should play in data generations and models, can be found <a href="https://arxiv.org/abs/2505.00195">here</a>!</p>

<h2 id="addendum">Addendum</h2>

<p>Exploring the role of heterogeneity in collective effectiveness</p>

<p>We also used the above framework to explore the impact of homogeneity of collective members in the effectiveness of collective action. We find that for a recommender system case, where some groups are trying to promote/demote specific content, group size has more of an impact, but groups that are somewhere in between fully homogenous and fully heterogenous can offer some performance boost.</p>

<p align="center">
<figure>
  <img id="heterogeneity" src="/images/two_collectives/heterogeneity.png" />
&nbsp;
</figure>
</p>

<p>These experiments further demonstrate the need to understand the specific collectives, their goals and composition, to truly understand how algorithmic collective action might come about in practice.</p>]]></content><author><name>Aditya</name><email>LASTNAME + 2 @illinois.edu</email></author><category term="Algorithmic Collective Action" /><category term="Alignment" /><category term="Machine Learning" /><category term="Incentive Mismatch" /><category term="Data Leverage" /><category term="LLM alignment" /><category term="Research" /><summary type="html"><![CDATA[Note a version of this can be found on the Crowd Dynamics Lab website. It is also co-authored with Nicholas Vincent and Karrie Karahalios and may appear elsewhere.]]></summary></entry><entry><title type="html">Private Prices</title><link href="https://adityakaran.github.io/posts/2025-06-18-PrivatePrices/" rel="alternate" type="text/html" title="Private Prices" /><published>2025-06-18T00:00:00-05:00</published><updated>2025-06-18T00:00:00-05:00</updated><id>https://adityakaran.github.io/posts/PrivatePrices</id><content type="html" xml:base="https://adityakaran.github.io/posts/2025-06-18-PrivatePrices/"><![CDATA[<p><strong>Note a version of this can be found on the <a href="https://crowddynamicslab.github.io/online/marketplaces,/exchanges,/game/theory/2025/06/18/private-prices/">Crowd Dynamics Lab</a> website.</strong></p>

<p>Can we design a system that promotes fairer prices on markets with personalized pricing? In our last study, we found evidence that prices of flights and hotels do really vary based on users’ browsing history. If consumers want to ensure that they’re getting the best price possible, what options do they have?</p>

<p>Consider a scenario where you and your friend are shopping online for the same pair of shoes. Your friend searches and finds the shoes for <span>$</span>100 while you see it for <span>$</span>110. You would probably ask your friend to buy the shoes for you and pay them back. If instead of your friend, this were an anonymous fellow shopper, you might pay them back <span>$</span>105 to compensate them for their time. This idea led us to design an exchange system that could be used to help consumers find the lowest price possible for a given item, while promoting reasonably fair outcomes.</p>

<p align="center">
<figure>
  <img id="exchange" src="/images/private_prices/exchange_gif.gif" />
&nbsp;
</figure>
</p>

<h2 id="what-we-did">What we did</h2>

<p>To assess the feasibility of such a system, we designed an agent based model to understand how implementing that system would affect pricing outcomes. The design of our exchange system relies on matching pairs of participants (“buyers” who are seeking lower prices, and “intermediaries” who are able to buy items at lower prices) who will accept the trade if both benefit. These matchings are proposed based on the system’s fairness goals—in our work we tested 4 such measures. Further, we consider two methods by which the price of the exchange can be set: by individual negotiations, and system-determined transaction prices. Using these guiding principles, we examined which fairness objectives and matching procedures could best facilitate fair prices.</p>

<p>While the decentralized (individually negotiated) prices prove successfully fairness-improving, we find that centralized price setting results in little change. Below we show the change in fairness metric for decentralized (orange) versus centralized (blue) price setting, and compare this to a baseline of no trading (black). We vary on the x-axis the number of trades agents are allowed to engage in. We see when our fairness metric aims to achieve low average prices, decentralized price-setting is able to reduce prices while centralized is not. The lack of success for the centralized matching procedure is due to the exchange system being unaware of consumers’ private utility functions, so it presents consumers with transaction prices that do not benefit both parties, and thus very few trades occur.</p>

<p align="center">
<figure>
  <img id="pricing_all_methods" src="/images/private_prices/presentation_pricing_algo_all_methods.png" />
&nbsp;
</figure>
</p>

<p>Focusing on decentralized price-setting, we further examine how this pricing scheme affects our four different fairness optimization metrics. We find that while decentralized matching can improve fairness in terms of minimizing prices people pay, it actually increases the standard deviation of prices paid. This is because while a buyer agent may only profit once in our simulation (they need only buy one unit of the good), an intermediary agent can profit a number of times. In the decentralized setting, therefore, the agent acting as an intermediary can engage in more beneficial trades.</p>

<p align="center">
<figure>
  <img id="feasible" src="/images/private_prices/feasibile.png" />
&nbsp;
</figure>
</p>

<p>We also explored how different pricing regimes may affect the ability of the exchange system to promote fair pricing. In particular, we examined what happens when prices in the original market are widely spread out (or dispersed) compared to when prices are more clustered together. At a high level, we defined dispersion as a value between [0, 1], where low dispersion means most prices are concentrated around the average, while high dispersion means there are more prices seen at the extremes (see full paper for more in depth measurement). We found that the exchange acts as a counterbalance against widely dispersed prices. In this setting, there is more incentive for those with access to lower prices to benefit by acting as intermediaries to consumers who have higher prices. Counterintuitively, this actually can help drive the average price down further compared to a scenario where everyone initially receives the same price.</p>

<p align="center">
<figure>
  <img id="dispersion" src="/images/private_prices/presentation_dispersion_vs_price.png" />
&nbsp;
</figure>
</p>

<p>Putting this all together, what does it mean? We find that an exchange system driven by individual negotiations by consumers can lead to fairer prices in markets with a high degree of price personalization. In this way, our system can serve as an effective counterbalance to personalized pricing.</p>

<p>After exploring results on our simulated pricing distributions, we then test how this might play out with a more realistic pricing distribution—in particular, the flight prices we found in [cite]. We consider the case where some consumers have access to lower prices, and can serve as intermediaries multiple times (1-8 times). With this more narrow pricing distribution, we find that this exchange can reduce prices by an average of <span>$</span>1-<span>$</span>2. This might not seem like a lot in the grand scheme of things, however, given that this is the savings for a single transaction, repeating this process can lead to potentially larger savings over time.</p>

<p align="center">
<figure>
  <img id="welfare" src="/images/private_prices/presentation_flight_prices_welfare_avg.png" />
&nbsp;
</figure>
</p>

<h2 id="continuing-from-here">Continuing from here</h2>

<p>In short, we demonstrate the utility of an exchange-driven system in reducing the impact of personalized pricing, showing that trading can act as a counterbalance to extreme personalization. A system such as this one could also help consumers become more aware of some black-box mechanisms online that they hadn’t considered before—consumers currently could be seeing drastically different prices for the same items and be completely unaware! This awareness of the pricing landscape, and a mechanism to enable trading, can help people make informed decisions regarding what they consume—ensuring they are treated fairly and getting the best outcomes for themselves.</p>]]></content><author><name>Aditya</name><email>LASTNAME + 2 @illinois.edu</email></author><category term="Fair Pricing" /><category term="Market Mechnaisms" /><category term="Research" /><summary type="html"><![CDATA[Note a version of this can be found on the Crowd Dynamics Lab website.]]></summary></entry><entry><title type="html">Efficient computation of MMLU-scores</title><link href="https://adityakaran.github.io/posts/2024-09-11-vijil-mmlu/" rel="alternate" type="text/html" title="Efficient computation of MMLU-scores" /><published>2024-09-12T00:00:00-05:00</published><updated>2024-09-12T00:00:00-05:00</updated><id>https://adityakaran.github.io/posts/vijil</id><content type="html" xml:base="https://adityakaran.github.io/posts/2024-09-11-vijil-mmlu/"><![CDATA[<p>Relinking the blog post I wrote at <a href="https://vijil.substack.com/p/get-your-mmlu-score-20x-cheaper-and">Vijil</a> where we enabled scoring against benchmarks (MMLU) by using the <a href="https://arxiv.org/abs/2402.14992">tinyBenchmark</a> methodology. Combined with Vijil engine, we can much more quickly get an accurate estimate all kinds of metrics one might want to evaluate.</p>]]></content><author><name>Aditya</name><email>LASTNAME + 2 @illinois.edu</email></author><category term="Benchmarking" /><category term="LLM" /><category term="Vijil" /><category term="Research" /><category term="Internship" /><summary type="html"><![CDATA[Relinking the blog post I wrote at Vijil where we enabled scoring against benchmarks (MMLU) by using the tinyBenchmark methodology. Combined with Vijil engine, we can much more quickly get an accurate estimate all kinds of metrics one might want to evaluate.]]></summary></entry><entry><title type="html">Regression Discontinuity at Instacart</title><link href="https://adityakaran.github.io/posts/2023-04-15-instacart/" rel="alternate" type="text/html" title="Regression Discontinuity at Instacart" /><published>2024-04-15T00:00:00-05:00</published><updated>2024-04-15T00:00:00-05:00</updated><id>https://adityakaran.github.io/posts/instacart</id><content type="html" xml:base="https://adityakaran.github.io/posts/2023-04-15-instacart/"><![CDATA[<p>Relinking the <a href="https://medium.com/tech-at-instacart/optimizing-at-the-edge-using-regression-discontinuity-designs-to-power-decision-making-51e296615046">Instacart Blog</a> post about some of the work I helped push through (all credit to the blog goes to the original authors)</p>]]></content><author><name>Aditya</name><email>LASTNAME + 2 @illinois.edu</email></author><category term="Instacart" /><category term="Economics" /><category term="Internship" /><summary type="html"><![CDATA[Relinking the Instacart Blog post about some of the work I helped push through (all credit to the blog goes to the original authors)]]></summary></entry></feed>